#P7167. 喷泉(Fountain)

0

喷泉(Fountain)

喷泉(Fountain)

题目描述

大家都知道喷泉吧?现在有一个喷泉由 NN 个圆盘组成,从上到下以此编号为 1∼N1 \sim N,第 ii 个圆盘的直径为 DiD_i,容量为 CiC_i,当一个圆盘里的水大于了这个圆盘的容量,那么水就会溢出往下流,直到流入半径大于这个圆盘的圆盘里。如果下面没有满足要求的圆盘,水就会流到喷泉下的水池里。

现在给定 QQ 组询问,每一组询问这么描述:

  • 向第 RiR_i 个圆盘里倒入 ViV_i 的水,求水最后会流到哪一个圆盘停止。

如果最终流入了水池里,那么输出 00。

注意,每个询问互不影响。

输入格式

第一行两个整数 N,QN,Q 代表圆盘数和询问数。
接下来 NN 行每行两个整数 Di,CiD_i,C_i 代表一个圆盘。
接下来 QQ 行每行两个整数 Ri,ViR_i,V_i 代表一个询问。

输出格式

QQ 行每行一个整数代表询问的答案。

样例输入 #1

6 5
4 10
6 8
3 5
4 14
10 9
4 20
1 25
6 30
5 8
3 13
2 8

样例输出 #1

5
0
5
4
2

数据范围

样例 1 解释

前两个询问的解释如下图所示:

因为每个询问互不影响,对于第三个询问,第 55 个圆盘里的水不会溢出。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(30 pts):N≤1000N \le 1000,Q≤2000Q \le 2000。
  • Subtask 2(30 pts):DiD_i 为严格单调递增序列。
  • Subtask 3(40 pts):无特殊限制。

对于 100%100\% 的数据:

  • 2≤N≤1052 \le N \le 10^5。
  • 1≤Q≤2×1051 \le Q \le 2 \times 10^5。
  • 1≤Ci≤10001 \le C_i \le 1000。
  • 1≤Di,Vi≤1091 \le D_i,V_i \le 10^9。
  • 1≤Ri≤N 1\le R_i \le N。

说明

翻译自 eJOI 2020 Day1 A Fountain。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1700。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 Subtask 1 小规模 N≤1000,Q≤2000 / 边界 N=2 / 刚好等于容量不溢出
2 25 8~12 Subtask 2 D_i严格单调递增长链 / Hack: D_i全部相等直坠水池0 / V_i=10^9全部灌穿到底
3 13~20 Subtask 3 满规模 N=10^5, Q=2×10^5 单调栈建树与倍增跳跃压力
4 20 21~25 随机树形结构与水量回归测试

出处:原题链接