60002 허수아비 Gold III
문제
수직선의 위치 에서 오른쪽 방향으로 힘 를 가진 화살이 발사된다. 각 정수 위치 ()에는 방어력 를 가진 허수아비를 최대 하나 설치할 수 있다. 화살이 허수아비에 부딪치면, 화살의 힘이 방어력보다 작거나 같을 경우 화살은 즉시 멈춘다. 반대로 화살의 힘이 방어력보다 크면, 화살의 힘은 현재 화살의 힘에서 만큼 줄어든 채 계속 진행한다.
정수 에 대하여 의 값을 “화살이 위치 에서 멈추거나 위치 보다 왼쪽에서 멈추도록 하기 위해 필요한 허수아비의 최소 개수” 라고 정의하자. 화살을 멈추게 할 수 있는 방법이 없을 때의 값은 이다.
예를 들어서 , 이고 , , , , 이라고 하자. 모든 의 값과 설치한 허수아비의 위치는 다음과 같다.
| 의 값 | 설치한 허수아비의 위치 | |
|---|---|---|
| 불가능 | ||
| 불가능 | ||
| 혹은 중 하나 선택 가능 | ||
인 모든 에 대하여 의 값을 구하는 프로그램을 작성하라.
입력
첫 번째 줄에 정수 과 화살의 힘 가 공백을 사이에 두고 주어진다.
두 번째 줄에 개의 정수 이 공백을 사이에 두고 주어진다.
출력
첫 번째 줄에 의 값을 공백을 사이에 두고 출력한다.
제한
- 주어지는 모든 수는 정수이다.
- 인 모든 에 대하여
서브태스크
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 4 | |
| 2 | 8 | |
| 3 | 8 | 인 모든 에 대하여 |
| 4 | 20 | 인 모든 에 대하여 또는 |
| 5 | 40 | 인 모든 에 대하여 |
| 6 | 40 | 인 모든 에 대하여 |
| 7 | 30 | 추가 제약 조건 없음. |
예제 입출력
예제 입력 1
5 10
3 6 1 1 10
예제 출력 1
-1 -1 3 3 1
예제 입력 2
3 10
20 20 20
예제 출력 2
1 1 1
예제 입력 3
1 5
3
예제 출력 3
-1
출처
올림피아드 › 한국정보올림피아드 › KOI 2025 1차 › 초등부 3번
solution.cpp
에디터 불러오는 중...