问题
블록을 쌓는 놀이를 하고 있다. 블록을 위로 쌓을 수 있는 칸들이 총
현재 i번 칸에는
1. 각 칸에 쌓인 블록의 개수는
2. 각 칸에 쌓인 블록의 개수는 단조증가한다: 1
여러분은 어떠한 칸의 블록을 인접한 칸으로 옮기는 것을 반복해 목표를 달성하려고 한다. 목표를 달성하는 것이 가능한지 판별하고, 가능한 경우 블록을 옮기는 횟수의 최솟값을 구해야 한다.
输入
첫 번째 줄에 N
두 번째 줄에
[제약 조건]
주어지는 수는 모두 정수이다.
输出
목표를 달성하는 것이 불가능하다면 -1을 출력한다.
목표를 달성하는 것이 가능하다면 블록을 옮기는 횟수의 최솟값을 출력한다.
子任务
| 编号 | 分数 | 条件 |
|---|---|---|
| #1 | 7分 | |
| #2 | 6分 | |
| #3 | 11分 | |
| #4 | 11分 | |
| #5 | 30分 | |
| #6 | 10分 | |
| #7 | 25分 | 추가 제약 조건 없음. |
示例 #1
5 3 5
2 0 9 1 4
7
示例 #2
10 3 8
2 7 9 10 2 2 2 8 3 8
25
示例 #3
10 6 7
10 7 5 4 4 3 9 4 9 7
20
示例 #4
3 2 3
1 1 1
-1
来源
KOI 1차 2023 고3