#18192. Breakdown

Breakdown

题目描述

给定一个包含 NN 个顶点和 MM 条边的简单无向图。对于 i=1,2,,Mi=1,2,\ldots,M,第 ii 条边连接顶点 uiu_i 和顶点 viv_i。另外,对于 i=1,2,,Ni=1,2,\ldots,N,顶点 ii 被分配了一个正整数 WiW_i,并且在顶点 ii 上放置了 AiA_i 个棋子。

只要图上还存在棋子,就不断重复以下操作:

  • 首先,从图上的棋子中选择一个并将其移除,设该棋子原本所在的顶点为 xx
  • 从与 xx 相邻的若干个顶点(可以为空)组成的集合 SS 中选择一个,要求 ySWy<Wx\sum_{y\in S} W_y < W_x,然后在 SS 中的每个顶点各放置 11 个棋子。

请输出可以进行操作的最大次数。

另外,可以证明无论如何操作,经过有限次操作后,最终图上不会剩下棋子。

输入格式

输入以如下格式从标准输入给出。

NN MM
u1u_1 v1v_1
u2u_2 v2v_2
\vdots
uMu_M vMv_M
W1W_1 W2W_2 \ldots WNW_N
A1A_1 A2A_2 \ldots ANA_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

6 6
1 2
2 3
3 1
3 4
1 5
5 6
9 2 3 1 4 4
1 0 0 0 0 1

输出 #1

5

输入输出样例 #2

输入 #2

2 1
1 2
1 2
0 0

输出 #2

0

输入输出样例 #3

输入 #3

10 20
4 8
1 10
1 7
5 9
9 10
8 10
7 5
1 4
7 3
8 7
2 8
5 8
4 2
5 1
7 2
8 3
3 4
8 9
7 10
2 3
25 5 1 1 16 5 98 3 21 1
35 39 32 11 35 37 14 29 36 1

输出 #3

1380

说明/提示

限制条件

  • 所有输入的值均为整数。
  • 2N50002 \leq N \leq 5000
  • 1Mmin{N(N1)/2,5000}1 \leq M \leq \min\{N(N-1)/2, 5000\}
  • 1ui,viN1 \leq u_i, v_i \leq N
  • uiviu_i \neq v_i
  • ij    {ui,vi}{uj,vj}i \neq j \implies \{u_i, v_i\} \neq \{u_j, v_j\}
  • 1Wi50001 \leq W_i \leq 5000
  • 0Ai1090 \leq A_i \leq 10^9

样例解释 1

在下述说明中,各顶点上的棋子数量用数列 A=(A1,A2,,AN)A=(A_1, A_2, \ldots, A_N) 表示。初始时,A=(1,0,0,0,0,1)A=(1,0,0,0,0,1)。考虑按照以下步骤进行操作:

  • 从顶点 11 移除一个棋子,并在顶点 2,32,3 各放置一个棋子。此时 A=(0,1,1,0,0,1)A=(0,1,1,0,0,1)
  • 从顶点 22 移除一个棋子。此时 A=(0,0,1,0,0,1)A=(0,0,1,0,0,1)
  • 从顶点 66 移除一个棋子。此时 A=(0,0,1,0,0,0)A=(0,0,1,0,0,0)
  • 从顶点 33 移除一个棋子,并在顶点 22 放置一个棋子。此时 A=(0,1,0,0,0,0)A=(0,1,0,0,0,0)
  • 从顶点 22 移除一个棋子。此时 A=(0,0,0,0,0,0)A=(0,0,0,0,0,0)

上述操作共进行了 55 次,这是可以进行操作次数的最大值。

样例解释 2

在本输入样例中,初始时图上没有任何棋子。

由 ChatGPT 4.1 翻译