P0748

[HNOI2009]无归岛

[HNOI2009]无归岛

Neverland 是一个神奇的地方,由一些呈环形排列的岛屿组成。每座岛上都生活着独特的物种,这些生物具有一种共同的生活习性:对于同一座岛上的任意两个生物 aa 和 bb,有且仅有一个生物 cc 同时是 aa 和 bb 的朋友。当然,某些岛上也可能只有一个生物孤独地生活。

这一习性有一个明显的好处:当两个生物发生矛盾时,可以请他们唯一的公共朋友裁决谁对谁错。

岛屿之间也存在交流。每座岛都会选出一个最聪明的生物作为代表,该生物会与相邻两座岛的代表成为朋友。

不幸的是,A 世界准备入侵 Neverland。作为 Neverland 的守护者,Lostmonkey 想知道在一种较坏情况下,Neverland 所能拥有的最大战斗力。由于朋友并肩作战时能力会得到提升,他希望从所有生物中选出一些生物,使得其中不存在互为朋友的一对生物,并且这些生物的战斗力之和最大。

Neverland 一词在《小飞侠彼得潘》中通常译为“梦幻岛”,在本题中则称为“无归岛”。

输入格式

第一行包含两个以空格分隔的整数 nn 和 mm,分别表示 Neverland 中的生物数量和朋友关系数量。

接下来的 mm 行描述所有朋友关系。每行包含两个以空格分隔的整数 aa 和 bb,表示生物 aa 和生物 bb 是朋友。每对朋友关系只会出现一次。

第 m+2m+2 行包含 nn 个以空格分隔的整数,其中第 ii 个整数表示生物 ii 的战斗力 AiA_i。

输出格式

输出一个整数,表示满足所选生物中不存在互为朋友的一对生物时,能够得到的最大战斗力之和。

样例输入

6 7
1 2
2 3
3 4
4 1
3 6
3 5
5 6
20 10 30 15 20 10

样例输出

50

数据范围

  • 4≤n≤1054\le n\le 10^5;
  • 1≤m≤2×1051\le m\le 2\times 10^5;
  • 1≤a,b≤n1\le a,b\le n;
  • −103≤Ai≤103-10^3\le A_i\le 10^3。

来源与许可

本题为 HNOI 2009 试题「无归岛」,题面与测试数据整理自 BZOJ。

样例 1

输入

6 7
1 2
2 3
3 4
4 1
3 6
3 5
5 6
20 10 30 15 20 10

输出

50