#P12660. [KOI 2023 Round 1] 积木堆叠
[KOI 2023 Round 1] 积木堆叠
题目背景
试题来源:https://koi.or.kr/archives/。中文翻译做了少量本土化修改。
按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。
题目描述
正在进行一项积木堆叠的游戏。共有 个可以向上堆积积木的位置,从第 个格子到第 个格子依次排列。
当前第 个格子上堆积了 个积木。由于当前堆积的形状杂乱无章,想要通过以下条件将其整理:
- 每个格子上的积木数量要在 到 之间(包括 和 )。
- 每个格子上的积木数量要单调不减:对于 ,第 个格子上的积木数量不应大于第 个格子的数量。
你可以将某个格子上的积木移动到相邻的格子中,反复进行操作以达成目标。现在需要判断是否可以实现目标。如果可以,还要输出最小的移动次数。
输入格式
第一行包含三个整数 、、,以空格分隔。
第二行包含 个整数 ,表示每个格子当前的积木数量。
输出格式
若无法达成目标,输出 。若可以达成目标,输出最小的积木移动次数。
5 3 5
2 0 9 1 4
7
10 3 8
2 7 9 10 2 2 2 8 3 8
25
10 6 7
10 7 5 4 4 3 9 4 9 7
20
3 2 3
1 1 1
-1
提示
限制条件
- 所有输入的数值均为整数。
子问题
- (7 分),
- (6 分),
- (11 分),
- (11 分),
- (30 分),
- (10 分),
- (25 分)无额外限制