#P15554. [ejoi2023]糖果
[ejoi2023]糖果
题目描述
在古老的伊卡城,传说有一座富丽堂皇的宫殿,藏有令人难以想象的财富。宫殿内有一条走廊,摆放着 个来自世界各地的糖果盒。路过的旅人可以随意拿取糖果,前提是用等重的黄金支付。
糖果盒从左到右编号为 到 。第 个盒子中剩余 单位糖果,其中 是一个非负整数。
作为宫殿的守护者,你希望重新排列这些盒子,让装有更多糖果的盒子靠近入口。
你将获得数组 以及数字 和 。在一次操作中,你可以交换数组 中两个相邻的元素。你的任务是求出最少需要多少次操作,使数组前 个元素的总和至少达到 。
输入格式
第一行包含三个整数 。
第二行包含 个整数 。
输出格式
如果无法通过操作达成目标,输出 NO。
否则,输出一个整数,表示最少操作次数。
6 2 27
10 4 20 6 3 3
1
6 5 5000000000
1000000000 1000000000 0 1000000000 1000000000 1000000000
3
3 2 100
20 30 60
NO
1 1 100
100
0
数据范围与提示
注意:输入的数字可能超出 32 位整数范围,如果使用 C++,请注意溢出问题。
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 且对于 , 且 | ||
| 对于 , | ||
| 对于 , | ||
| 无附加限制 |