#CF1989D. Smithing Skill

    ID: 6890 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构动态规划其他双指针扫描排序数学贪心*1900

Smithing Skill

CF1989D Smithing Skill

题目描述

你在玩一款可以运行的著名电脑游戏,游戏中,你有许多能升级的技能。今天,你着重于铸造这个技能。你的策略是显然的:用材料锻造武器,并将其熔毁以返还部分材料。具体地,每次锻造和熔毁都可以提供 11 点经验值。

nn 种可供锻造的武器,mm 种材料。

若要锻造第 ii 种武器,需耗费 aia_i同种 材料,熔毁这把武器则返还 bib_i制作所用的 材料。

初始你每种材料有 cic_i 个,你可以无限次的锻造和熔毁,每把武器均可以用任一种材料。

求你能获得的最大经验值。

输入格式

第一行输入整数 n,mn,m1n,m1061\le n,m \le 10^6),为武器种数和材料种数。

第二行输入 nn 个数 aia_i1ai1061 \le a_i \le 10^6),为第 ii 种武器消耗材料数。

第三行输入 nn 个数 bib_i1bi<ai1 \le b_i < a_i),为熔毁第 ii 种武器返回材料数。

第四行输入 mm 个数 cic_i1ci1091\le c_i \le 10^9),表示你最开始拥有 cic_i 个材料 ii

输出格式

一行,为你获得的最大经验值。

样例解释

第一个样例中可以按下列方式操作:

  1. 用材料 11 锻造武器 11

  2. 熔毁武器 11.

  3. 重复操作 1,21,2 一次。

  4. 用材料 11 锻造并熔毁武器 33

  5. 用材料 33 锻造并熔毁武器 33

  6. 用材料 11 锻造并熔毁武器 44

  7. 用材料 33 锻造并熔毁武器 55

最终 c=[2,4,2]c = [2,4,2],经验值为最大值 1212

Translated by uid 408071408071.

输入输出样例 #1

输入 #1

5 3
9 6 7 5 5
8 4 5 1 2
10 4 7

输出 #1

12

输入输出样例 #2

输入 #2

3 4
10 20 20
0 0 0
9 10 19 20

输出 #2

8

输入输出样例 #3

输入 #3

1 5
3
1
1000000000 1000000000 1000000000 1000000000 1000000000

输出 #3

4999999990