20240630
描述
天上掉金币了!现在你手里有一个特殊的接金币容器,由从上到下排列的N个圆盘组成,每个收集金币的圆盘有直径D和容量C。如果一个圆盘中的金币数量超过了它的容量,多余的金币会溢出并流向下一个直径更大的圆盘。如果下面没有更大直径的圆盘,那么这些金币就会掉到地上。
现在给定Q组查询(每组查询互不影响),每组查询描述如下:向第i个圆盘中添加V个金币,问最后多余的金币会停留在哪个圆盘。如果最终多余的金币掉到了地上,则输出0。
请回答这些查询,以判断你能否接住这些金币!
输入
输入文件第一行为用一个空格隔开的两个整数N和Q,分别代表圆盘数和查询数。
接下来N行,每行两个整数D和C,表示一个圆盘的信息,先输入的圆盘在上面。
接下来Q行,每行两个整数i和V,表示一个询问。
输出
输出文件有Q行,每行一个整数,表示询问的答案。
样例
输入
6 5 4 10 6 8 3 5 4 14 10 9 4 20 1 25 6 30 5 8 3 13 2 8
输出
5 0 5 4 2
提示
对于40%的数据,保证2≤N≤100,1≤Q≤200。
对于100%的数据,保证 2≤N≤100000, 1≤Q≤200000,1≤C≤20000,1≤D≤100000,1≤V≤10^9,1≤i≤N。