此问题是一个区间问题,对于每一个x都是一个删除区间,在没有其他删除的情况下区间即为[x,x+y-1],当x所在位置在其他删除区间中,那么整体往右移,直至不在删除区间中,当删除区间的右部在其他删除区间中,那么就要进行删除区间的融合,改变y的值,将后一个删除区间的长度加上,循环操作,直至右部没有在其他删除区间中,用map记录删除区间的左右端点
from collections import defaultdict
小美有一个无限长的正整数序列[1,2,3,...],现在有q次询问,每次询问给出两个数字x和y。
对于每一次询问,小美会执行y次删除操作,然后输出最后一个被删除的数字。
删除操作是指,找到第一个大于等于x的数字,然后将其从序列中永久删除。
第一行输入一个整数q(1≤q≤10^5)代表询问次数。
接下来q行,每行输入两个整数x,y(1≤x,y≤109),其含义已在题目中说明。
对于每一个询问,在一行上输出一个整数,代表在这次操作中最后被删除的那个数字
输入
3
3 3
3 3
2 1
输出
5
8
2
说明
序列初始为[1,2,3,4,5,6,7,8,9,...]。