포럼
문제 USACO0592

대포알

설명

베시는 대포알로 변신해 길이 \(N\) \((1 \leq N \leq 10^5)\)의 수직선 위를 튀어 다니는 기술을 완벽히 익혔다. 수직선의 위치에는 왼쪽부터 오른쪽으로 \(1,2,\dots,N\)의 번호가 붙어 있다. 베시는 어떤 정수 위치 \(S\) \((1 \leq S \leq N)\)에서 시작해 파워 \(1\)로 오른쪽으로 튀어 나간다. 베시의 파워가 \(k\)이면, 다음 도약은 현재 위치에서 진행 방향으로 거리 \(k\)만큼 떨어진 곳에 착지한다.

\(1\)부터 \(N\)까지의 모든 정수 위치는 표적이거나 점프대이다. 각 표적과 점프대는 \(0\) 이상 \(N\) 이하의 정수 값을 가진다. 값이 \(v\)인 점프대는 베시의 파워를 \(v\)만큼 증가시키고 방향을 반대로 바꾼다. 값이 \(v\)인 표적은 파워 \(v\) 이상으로 착지하면 부서진다. 표적에 착지해도 베시의 파워나 방향은 바뀌지 않는다. 한 번 부서진 표적은 계속 부서진 상태로 남으며, 베시는 그 위에서도 여전히 튈 수 있고 이때도 파워와 방향은 바뀌지 않는다.

베시가 무한히 튀거나 수직선을 벗어날 때까지 튄다면, 몇 개의 표적이 부서지는가?

베시가 부술 수 있는 표적 위에서 시작하면 즉시 그 표적을 부순다. 마찬가지로 점프대 위에서 시작하면 첫 도약 전에 점프대의 효과가 적용된다.

출제: Suhas Nagar

제약

배점

  • 입력 3-5: \(N \le 100\)
  • 입력 6-10: \(N \le 1000\)
  • 입력 11-20: 추가 제약 없음.

출제: Suhas Nagar

입력 형식

입력의 첫째 줄에 \(N\)\(S\)가 주어진다. \(N\)은 수직선의 길이, \(S\)는 베시의 시작 위치이다.

다음 \(N\)개의 줄에 각 위치에 대한 설명이 주어진다. 이 중 \(i\)번째 줄에는 정수 \(q_i\)\(v_i\)가 주어지는데, 위치 \(i\)가 점프대이면 \(q_i = 0\), 표적이면 \(q_i = 1\)이고, \(v_i\)는 위치 \(i\)의 값이다.

출력 형식

부서지는 표적의 개수를 나타내는 수 하나를 출력한다.

예제 1
입력
5 2
0 1
1 1
1 2
0 1
1 1
출력
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\).

예제 2
입력
6 4
0 3
1 1
1 2
1 1
0 1
1 1
출력
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.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2023-2024 > January > Bronze

태그

평가 및 의견

Cannonball

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Cannonball

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8