#D0497. 劫富济贫

劫富济贫

题目描述

nn 只史莱姆,编号从 1n1 \sim n。这些史莱姆之间有 mm 对朋友关系,第 ii 对朋友关系用 ui,viu_i, v_i 描述,表示编号为 uiu_iviv_i 的史莱姆互相是好朋友。(朋友关系不能传递,即朋友的朋友不是朋友,只有直接相连的是朋友)。

每只史莱姆都有一个体重属性,第 ii 只史莱姆的体重为 aia_i

每只史莱姆都有些麻烦需要解决,第 ii 只史莱姆的需要解决的麻烦数量为 bib_i

作为冒险者,你可以帮助史莱姆解决麻烦来获得经验值。你可以完成若干次操作,每次操作包含下面两个步骤:

  1. 选择一只麻烦数不为 00 的史莱姆,让他的麻烦数减少 11
  2. 可以挑选第一步中选择的史莱姆的一个或多个朋友,但必须满足这些朋友的体重之和严格小于这个史莱姆的体重,然后可以让这些朋友的麻烦数增加 11。如果无法找到满足条件的朋友们,可以不做这一步。

你需要尽可能多地进行操作,求最多能进行多少次操作(题目保证能在有限次操作后结束)。

输入格式

第一行为空格隔开的两个整数:n,mn, m

第二行为空格隔开的 nn 个整数:a1ana_1 \sim a_n

第三行为空格隔开的 nn 个整数:b1bnb_1 \sim b_n

接下来 mm 行,每行为空格隔开的两个整数,第 ii 行为 ui,viu_i, v_i

输出格式

输出一个整数,即最多的操作次数。

样例

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

样例解释

  • 初始六只史莱姆的麻烦数分别为 (1,0,0,0,0,1)(1, 0, 0, 0, 0, 1)
  • 解决 66 号史莱姆的麻烦,然后给他的朋友 5,45, 4 号的麻烦数加 11,麻烦数变为了 (1,0,0,1,1,0)(1, 0, 0, 1, 1, 0)
  • 解决 55 号史莱姆的麻烦,麻烦数变为了 (1,0,0,1,0,0)(1, 0, 0, 1, 0, 0)
  • 解决 11 号史莱姆的麻烦,麻烦数变为了 (0,0,0,1,0,0)(0, 0, 0, 1, 0, 0)
  • 解决 44 号史莱姆的麻烦,然后给他的朋友 55 号的麻烦数加 11,麻烦数变为了 (0,0,0,0,1,0)(0, 0, 0, 0, 1, 0)
  • 解决 55 号史莱姆的麻烦,麻烦数变为了 (0,0,0,0,0,0)(0, 0, 0, 0, 0, 0)

一共 55 次操作。

数据范围与提示

  • 子任务 1(30 分):保证 ai=1a_i = 1,即所有史莱姆体重都是 11
  • 子任务 2(30 分):保证 ai=ia_i = im=n1m = n - 1ui=iu_i = ivi=i+1v_i = i + 1
  • 子任务 3(40 分):无特殊限制。
  • 对于 100%100\% 的数据:5n50005 \le n \le 5000,$1 \le m \le \min\left\{\dfrac{n(n-1)}{2}, 5000\right\}$,1ui,vin1 \le u_i, v_i \le nuiviu_i \ne v_i,保证不存在重复的朋友关系,1ai50001 \le a_i \le 50000bi1090 \le b_i \le 10^9