在一个充满机械装置的小镇中,发明家小 A 正在测试一台新型的机械跳跃装置。这台装置能够让他沿着一条由 N 个平台组成的直线跑道(从左到右编号为 1, 2, \cdots, N)不断跳跃,任意两个相邻的平台间距离均为 1。
小 A 从某个平台 S(1 \leq S \leq N)开始测试,最初跳跃装置的能量为 1 个点,向右跳跃。
跳跃规则如下:
如果当前跳跃装置的能量为 k,他会跳跃到距当前位置向前距离 k 处的另一平台。
跑道上的每个平台都装有一种机械装置,机械装置分为两种:
弹簧板:当小 A 着陆在这类平台时,弹簧板会使他的跳跃装置能量增加 v 个点(0 \leq v \leq N),同时改变跳跃的方向(从向前跳跃变为向后跳跃,或从向后跳跃变为向前跳跃)。
能量屏障:当小 A 着陆在这个平台时,只有当跳跃装置的能量不小于屏障所需的 v(0 \leq v \leq N),他才能成功突破屏障。突破屏障不会改变他的能量和方向,平台属性不会改变,(屏障会处于已突破状态,再次经过也不会增加突破屏障数量)。
小 A 会不断跳跃,直到他跳出跑道或者陷入无限循环。
特殊规则:
如果小 A 的起始位置是一个可以突破的能量屏障,他会立即突破。
如果他的起始位置是一个弹簧板,弹簧板的效果会在他进行第一次跳跃前触发。
你的任务是:计算小A在这次测试中最多能突破多少个能量屏障。
输入的第一行包含两个整数 N 和 S,其中 N 为跑道的长度,S 为小 A 的起始位置。
以下 N 行描述了每一个平台的信息。其中第 i 行包含整数 q_i 和 v_i。
如果位置 i 上有一个弹簧板则 q_i=0。
如果位置 i 上有一个能量屏障则 q_i=1。
v_i 是位置 i 上的弹簧板或能量屏障的数值。
输出一个整数,为被突破屏障的数量。
5 2 0 1 1 1 1 2 0 1 1 1
1
6 4 0 3 1 1 1 2 1 1 0 1 1 1
3
20 10 0 6 0 1 1 3 1 7 0 8 0 2 1 2 1 4 0 8 1 1 1 1 1 6 0 6 0 2 0 8 0 7 1 8 0 1 1 1 1 7
2
小 A 从 2 号平台开始,这是一个能量为 1 的屏障,所以他突破了这个屏障。
然后弹跳至 3 号平台,这是一个能量为 2 的屏障,无法击破。
继续弹跳至 4 号平台,弹簧板改变方向并将能量增加了 1,达到 2。跳回至 2 号平台,这是一个已经被突破的屏障,所以继续弹跳。
此时,弹跳至了 0,因此停了下来。共突破了一个屏障,位于 2 号平台。
小 A 经过的平台为 4 \to 5 \to 3 \to 1 \to 6,下一次弹跳将会使其离开跑道(11)。依次突破了能量屏障 4,3,6。