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