PCS-J Round1 T1 bh3(bh3.cpp)
暂无测试数据。
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
崩坏3启动!
题目描述
现在对面有 \(n\) 个怪,每个怪都有一个血量 \(a_i\) 和一个伤害 \(b_i\)。
你的血量上限为 \(x\),伤害为 \(s\)。初始血量为 \(x\)。
游戏规则是这样的:每一次你需要 按顺序 挑战每一个怪物。每一次你先行动,对敌方造成 \(s\) 点伤害,如果怪物的血量 小于 \(0\) ,你才能击杀他。 接下来怪物行动,对你造成 \(b_i\) 点伤害。如果此时怪物血量为 \(0\),则额外造成 \(b_i\) 点伤害, 也就是总计造成 \(2b_i\) 点伤害。
由于这个游戏太难了,你就稍微的开了点挂。 你可以使用 \(S\) 次技能:回复 \(x\) 点生命。 注意你的生命值 任何时刻 都不能低于 \(0\), 也不能等于 \(0\)。
你想知道如何最小化 \(S\)(玩游戏怎么能开挂呢?)。请输出 \(S\)。如果你不能通关游戏,输出 I will play yuanshen.
。
输入格式
第一行三个整数 \(n,x,s\),分别表示怪物个数、你的血量上限、你的伤害。
接下来一行给定 \(n\) 个整数 \(a_i\),表示怪物血量。
再接下来一行给定 \(n\) 个整数 \(b_i\),表示怪物伤害。
输出格式
输出最小化的 \(S\)。
样例 #1
样例输入 #1
3 10 5
8 12 20
3 5 4
样例输出 #1
3
样例 #2
样例输入 #2
3 10 6
5 6
3 5
样例输出 #2
I will play yuanshen.
提示
样例解释 #1
一种方案如下:
对于第一个怪:
1. 我方攻击一次,此时对面还剩 \(3\) 点血。
2. 敌方攻击一次,此时我方还剩 \(7\) 点血。
3. 我方攻击一次,此时对面 \(-2\) 点血,成功击杀。
对于第二个怪:
1. 我方攻击一次,此时对面还剩 \(7\) 点血。
2. 敌方攻击一次,此时我方还剩 \(2\) 点血。
3. 我方攻击一次,此时对面还剩 \(2\) 点血。
4. * 我方开挂一次,此时我方 \(10\) 点血。
5. 敌方攻击一次,此时我方还剩 \(5\) 点血。
6. 我方攻击一次,此时对面 \(-3\) 点血,成功击杀。
对于第三个怪:
1. 我方攻击一次,此时对面还剩 \(15\) 点血。
2. 敌方攻击一次,此时我方还剩 \(1\) 点血。
3. 我方攻击一次,此时对面还剩 \(10\) 点血。
4. * 我方开挂一次,此时我方 \(10\) 点血。
5. 敌方攻击一次,此时我方还剩 \(6\) 点血。
6. 我方攻击一次,此时对面还剩 \(5\) 点血。
7. 敌方攻击一次,此时我方还剩 \(2\) 点血。
8. 我方攻击一次,此时对面 \(0\) 点血。 敌方下一次造成的伤害提升。
9. * 我方开挂一次,此时我方 \(10\) 点血。
10. 敌方攻击一次,此时我方还剩 \(2\) 点血。( 因为伤害翻倍了 )
11. 我方攻击一次,此时对面 \(-5\) 点血,成功击杀。
即 \(S=3\)。带星表示开挂。
样例解释 #2
对于第二个怪,一次攻击必然会使其进入伤害翻倍状态,此时对面攻击一次即可使我方死亡,所以输出 I will play yuanshen.
数据范围与规定
对于 \(50\%\) 的数据,\(n\le 100\),\(a_i,b_i,s,x\le 10^4\)。
对于 \(100\%\) 的数据,\(n\le 10^6\),\(a_i,b_i,s,x\le 10^{12}\)。