单脚跳
#描述#
相信很多人小时候都玩过一种单脚跳的游戏,现在我们把游戏简化一下,具体如下:时刻0的时候你站在起点处,在你前面排着N个格子(编号为1到N),即起点前面的格子是1号格子,1号格子前面是2号格子,……,N号格子前面是终点。每个格子里都有一盏红绿灯和两个参数P、Q,Q表示这个格子正好在时刻Q转变为红灯,而前一时刻是绿灯,P表示这个格子里会红灯亮P秒,然后绿灯亮P秒,再红灯亮P秒,如此循环下去。所以即使两个格子的P相同,也有可能会因为Q的不同而不会同步。<br>
在每一时刻,你可以前进一个格子或倒退一个格子,也可以选择原地不动。你每跳一步(不管向前还是向后)都需要1s。在任何时刻,你必须处于一个绿灯状态的格子(除了起点和终点)。比如你时刻2正准备从2号格子往3号格子跳,虽然此时3号格子是红的,但在时刻3会变成绿的,那么你可以跳到3号格子(因为你跳入后已经是时刻3);反之,若3号格子在时刻2是绿的,时刻3变为红的,那么你不能跳到3号格子。<br>
现要你求出从起点处跳到终点处所需的最少时间是多少,如果永远到达不了终点,则输出0。<br>
<h3>Inputs:</h3>
输入包含多组测试数据。<br>
针对每组测试数据,第一行给出一个整数N(1<=N<=100),表示格子的个数。第二行给出N个整数,第i个整数表示第i个格子的参数P(0<=P<=10)。第三行给出N个整数,第i个整数表示第i个格子的参数Q(0<=Q<2*P)。P、Q的含义在描述中已经说明,需要注意的是在P=0的时候,表示这个格子里的灯出故障了,说明你可以在任意时刻处在这个格子里。<br>
N=0时表示输入结束。
#格式#
##输入格式##
##输出格式##
针对每组数据,如果到达不了终点,则输出0,否则输出最少所需的时间。
#样例1#
##样例输入1##
3
0 0 0
0 0 0
4
6 3 3 4
2 3 0 4
2
1 1
0 0
0
##样例输出1##
4
11
0
#限制#
5000ms
32768KB
#提示#
#来源#
z_y