题目描述
FJ的奶牛们决定去度假,并奇迹般地找到了愿意卖票的航空公司。
然而,当他们到达机场并开始登机时,他们面临着一个有趣的问题。
这架飞机有N个座位,我们将其建模为数轴上的点 x=1到 x=N。
所有N头奶牛 (1<=N<=200,000)都在排队等候坐下。牛 N位于位置 x=0,牛 N−1位于位置 x=−1,依此类推。
奶牛 i已分配给座位 Si,其中 S1,...,SN是 1,...,N的排列。
在每个时间步长,如果可以,每头牛都会向右走一步。当奶牛i到达她的座位 Si时,她会停下来将行李放入头顶行李箱,这需要 Ti秒,然后坐下。
对于那些 Ti步骤,她身后的母牛(如果有的话)被阻止向前移动。如果她身后有一排奶牛,那么这条线也被有效地挡住了。
所有的奶牛坐下需要多长时间?
所有奶牛的Ti总和将小于 1,000,000,000。
想象一下飞机有N个座位,N个座位相当于数轴上的1至N共N个整点,第1个座位在整点1处,第2个座位在整点2处,……第N个座位在整点N处。
有N个奶牛排好队,要登陆坐飞机,第N头奶牛在数轴的整点0处,第N?1头奶牛在数轴的整点?1处,……第1头奶牛在数轴的整点?
N+1处。第i头奶牛的座位号是Si。注意:每头奶牛都有唯一的一个座位,不会出现多头奶牛有相同的座位号。
在每一秒钟,奶牛会向右移动一步到达下一个整点,前提是没有奶牛挡住它。当第i头奶牛到达它的座位Si时,它需要花费Ti秒去把行李放到头顶的行李架上,然后坐到自己的位置上,在此过程中,由于飞机通道很窄,所以在第i头奶牛 坐到自己座位之前,在它左边的所有奶牛都不能动,要等奶牛i放好行李坐好后才能动。
现在的问题是,至少要多少秒之后,所有的奶牛都能做到自己的座位上?
输入格式
第1行:单个整数 N。
第2..N+1行:两个空格分隔的整数,Si和 Ti。
输出格式
第1行:单行表示让所有奶牛就座所需的时间。
样例
输入样例
3
2 5
3 10
1 5
输出样例
19
提示
最初,奶牛的位置是这样的:
奶牛−>123
123<−座位
奶牛1试图到达座位 2,奶牛 2试图到达座位 3,奶牛 3试图到达座位 1。
一步之后,他们都会将1向右移动,奶牛 3会到达她的座位:
123123奶牛 3需要 5秒才能坐下,此时她实际上消失了。
12123奶牛 1和 2还需要 3秒才能到达他们想要的座位:
12123奶牛 1坐下需要 5秒,奶牛 2坐下需要 10秒,所以总共需要 10秒。
总共花了1+5+3+10=19秒。