logo AlgoBeat OnlineJudge
登录 注册

#213629. [KOI 2025 #1] 干草堆

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

题目描述

试题来源:https://koi.or.kr/archives/。中文翻译做了少量本土化修改。

按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。


一支带有力量 的箭从数轴上的位置 0 向右方发射。在每个整数位置 (),最多可以设置一个防御力为 的干草堆。

当箭撞到干草堆时,如果箭的力量小于或等于该干草堆的防御力,箭会立即停止。反之,如果箭的力量大于防御力,箭的力量会减去 ,然后穿过干草堆继续飞行。

对于两个整数 ,我们将 的值定义为“为了使力量为 的箭在位置 或其左侧停止所需要安装的干草堆的最小数量”。如果无论如何安装都无法使箭停止,则定义

请编写一个程序,对于 个整数对 (),分别求出 的值。

输入格式

第一行给定可以安装干草堆的位置数量 和发射的箭的数量 ,以空格分隔。

第二行给定可以在位置 () 放置的干草堆的防御力 ,以空格分隔。

从第三行开始的 行,给出 个整数对。其中第 () 行给定 ,以空格分隔。

输出格式

输出 行。其中第 () 行输出 的值。

样例

样例输入 1

5 6
2 5 6 1 12
1 1
5 14
2 8
3 7
4 14
5 1

样例输出 1

1
2
-1
2
4
1

样例输入 2

5 5
3 6 1 1 10
1 10
2 10
3 10
4 10
5 10

样例输出 2

-1
-1
3
3
1

数据范围与提示

限制条件

  • 给定的所有数都是整数。
  • 对于每个 ,都有
  • 对于每个 ,都有
  • 对于每个 ,都有

子任务

  1. (6 分)
  2. (16 分)
  3. (18 分) 对于所有
  4. (32 分) 对于所有
  5. (28 分) ,且对于所有 ,且
  6. (16 分) 对于所有
  7. (12 分) 对于所有
  8. (22 分) 无附加限制条件。