luogu#P16573. [USACO26OPEN] Haybale Stacks
[USACO26OPEN] Haybale Stacks
题目描述
注意:本题时间限制为 。
农夫约翰有 堆干草捆(),其中第 堆包含 个干草捆()。他想移走所有这些干草捆,并且有 ()头奶牛可供雇佣。如果雇佣第 头奶牛,它会以花费 ()的代价,重复执行以下操作 次():
- 如果当前堆中至少有 个干草捆(),那么这头奶牛会移走一个干草捆。
- 如果当前堆中的干草捆少于 个,则奶牛什么也不做。
对于每一堆干草,FJ 希望将其中的所有干草捆全部移走。他通过按顺序雇佣奶牛(同一头奶牛可多次雇佣)直到该堆变空来实现。请帮助 FJ 确定移空每一堆干草所需的最小总花费。
输入格式
第一行包含 (),表示独立测试用例的数量。每个测试用例的格式如下:
第一行包含一个整数 。
第二行包含 个整数 。
第三行包含一个整数 。
接下来 行,每行包含三个整数 。
保证奶牛能够移空每一堆中的所有干草捆。此外,保证所有测试用例的 之和不超过 ,所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一行 个空格分隔的整数,其中第 个整数表示移空第 堆干草所需的最小花费。
2
3
15 100 10
4
101 1 1
1 4 8
9 3 5
15 2 3
3
15 100 10
4
101 1 1
1 1 5
9 1 8
15 1 3
29 155 21
73 328 50
提示
第一个测试用例:对于初始大小为 的最后一堆,我们可以雇佣一次奶牛 ,花费 ,它会移走两次干草捆(不是三次,因为第二次移走后剩余干草捆数量变为 )。然后我们可以雇佣两次奶牛 ,移走剩余的 个干草捆,使堆变空。总花费为 。
第二个测试用例:满足 。
计分规则
- 输入 -:
- 输入 -:
- 输入 -:
- 输入 -:
- 输入 -:无额外限制。
翻译由 DeepSeek V4 Pro 完成