logo AlgoBeat OnlineJudge
登录 注册

#215534. [蓝桥杯 2025 国 Python B] 魔法护盾

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

在一个魔法世界里,勇士需要穿越一个危险的迷宫。迷宫中有 个房间排成一排,从左至右编号为 ,勇士需要按照从左至右的顺序从第 个房间开始一直到走出第 个房间才可以穿越成功,每个房间都存在魔法护盾和魔法攻击。

魔法护盾可以累积,但有最大容量限制。第 个房间有 个魔法护盾(可能为负,表示护盾被消耗),护盾最大累积容量为

同时,每个房间可能有魔法攻击, 表示第 个房间的攻击力。如果勇士在房间中累积的护盾小于攻击力,则会导致勇士穿越失败。

关键规则:

  • 初始时,勇士拥有 个护盾。
  • 进入房间 时,先获得 护盾( 表示失去 护盾),然后面临 攻击。
  • 护盾有上限,累积护盾不能超过 ,若获得护盾后护盾大于 ,则护盾立即变为
  • 如果在任何房间中,护盾数量小于攻击力,冒险失败。
  • 可以选择性地从某些房间中获得“护盾增幅”效果,选择增幅的房间, 的效果会翻倍,该效果不影响

请计算勇士要成功通过所有房间,最少需要对多少个房间使用护盾增幅?如果无论如何都无法通过迷宫,则输出整数

输入格式

输入的第一行包含三个整数 ,相邻整数之间使用一个空格分隔,分别表示房间数量、护盾最大容量和初始护盾。

第二行包含 个整数 ,相邻整数之间使用一个空格分隔, 表示第 个房间的护盾变化。

第三行包含 个整数 ,相邻整数之间使用一个空格分隔, 表示第 个房间的攻击力。

输出格式

输出一行包含一个整数表示答案,即成功通过迷宫所需的最少护盾增幅房间数量。如果无法通过迷宫,请输出整数

样例

样例输入 1

5 9 2
6 -3 6 -1 -4
9 6 6 7 4

样例输出 1

1

样例输入 2

9 9 0
5 3 9 5 -3 7 -1 3 -5
3 4 3 4 2 8 5 1 3

样例输出 2

0

数据范围与提示

样例说明 1

对第一个房间使用护盾增幅。

到达第 个房间,当前护盾值为 ,可以通过第 个房间。

到达第 个房间,当前护盾值为 ,可以通过第 个房间。

到达第 个房间,当前护盾值为 ,可以通过第 个房间。

到达第 个房间,当前护盾值为 ,可以通过第 个房间。

到达第 个房间,当前护盾值为 ,可以通过第 个房间。所以答案为

样例说明 2

不需要使用护盾增幅,就可以通过所有房间。

评测用例规模与约定

对于 的评测用例,

对于 的评测用例,

对于 的评测用例,

对于 的评测用例,

对于 的评测用例,

对于所有评测用例,