USACO 2024 January Contest, Bronze

Problem 2. Cannonball


Contest has ended.

Log in to allow submissions in analysis mode


Bessie has mastered the art of turning into a cannonball and bouncing along a number line of length $N$ $(1 \leq N \leq 10^5)$ with locations numbered $1,2,\dots,N$ from left to right. She starts at some integer location $S$ $(1 \leq S \leq N)$ bouncing to the right with a starting power of $1$. If Bessie has power $k$, her next bounce will be at a distance $k$ forward from her current location.

Every integer location from $1$ to $N$ is either a target or a jump pad. Each target and jump pad has an integer value in the range $0$ to $N$ inclusive. A jump pad with a value of $v$ increases Bessie's power by $v$ and reverses her direction. A target with a value of $v$ will be broken if landed on with a power of at least $v$. Landing on a target does not change Bessie's power or direction. A target that is broken will remain broken and Bessie can still bounce on it, also without changing power or direction.

If Bessie bounces for an infinite amount of time or until she leaves the number line, how many targets will she break?

If Bessie starts on a target that she can break, she will immediately do so. Similarly, if Bessie starts on a jump pad, the pad's effects will be applied before her first jump.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line of the input contains $N$ and $S$, where $N$ is the length of the number line and $S$ is Bessie's starting location.

The next $N$ lines describe each of the locations. The $i$th of these lines contains integers $q_i$ and $v_i$, where $q_i = 0$ if location $i$ is a jump pad and $q_i = 1$ if location $i$ is a target, and where $v_i$ is the value of location $i$.

OUTPUT FORMAT (print output to the terminal / stdout):

Output one number representing the number of targets that will be broken.

SAMPLE INPUT:

5 2
0 1
1 1
1 2
0 1
1 1

SAMPLE OUTPUT:

1

Bessie starts at coordinate $2$, which is a target of value $1$, so she immediately breaks it. She then bounces to coordinate $3$, which is a target of value $2$, so she can't break it. She continues to coordinate $4$, which switches her direction and increases her power by $1$ to $2$. She bounces back to coordinate $2$, which is an already broken target, so she continues. At this point, she bounces to coordinate $0$, so she stops. She breaks exactly one target at located at $2$.

SAMPLE INPUT:

6 4
0 3
1 1
1 2
1 1
0 1
1 1

SAMPLE OUTPUT:

3

The path Bessie takes is $4\to 5\to 3\to 1\to 6$, where the next bounce would take her out of the number line ($11$). She breaks targets $4, 3, 6$ in that order.

SCORING:

  • Inputs 3-5: $N \le 100$
  • Inputs 6-10: $N \le 1000$
  • Inputs 11-20: No additional constraints.

Problem credits: Suhas Nagar

Contest has ended. No further submissions allowed.