欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1704B.Luke is a Foodie
Luke is a Foodie
题目描述
Luke 喜欢吃东西。现在他面前有 堆食物排成一行,第 堆有 单位的食物。
Luke 将从第 堆走向第 堆,他想要吃掉每一堆食物且不能回头。当 Luke 走到第 堆时,只有当 时他才能吃掉这堆食物,其中 是一个固定的整数, 是 Luke 的“食物亲和力”。
在开始行走之前,Luke 可以将 设置为任意整数。此外,对于每个 (),在吃第 堆食物之前,Luke 可以将他的食物亲和力 改为任意整数。
请你求出,为了吃掉所有的食物,最少需要改变多少次食物亲和力。
注意,初始选择 的操作不计入改变次数。
输入格式
输入包含多组测试数据。第一行包含一个整数 (),表示测试用例的数量。接下来是每组测试数据的描述。
对于每组测试数据,第一行包含两个整数 (,),分别表示食物堆的数量和 Luke 能吃下食物堆的最大差值。
第二行包含 个整数 ()。
保证所有测试用例中 的总和不超过 。
输出格式
对于每组测试数据,输出一个整数,表示最少需要改变多少次食物亲和力。每个答案占一行。
说明/提示
在第一个测试用例中,Luke 可以在开始行走前将 设为 ,然后可以直接吃掉所有食物,无需改变 。
在第二个测试用例中,Luke 可以在开始行走前将 设为 ,在吃第二堆食物前将 改为 ,之后无需再改变 。
在第四个测试用例中,Luke 可以在开始行走前将 设为 ,在吃第六堆食物前将 改为 ,之后无需再改变 。
在第五个测试用例中,Luke 可以在开始行走前将 设为 ,在吃第四堆食物前将 改为 ,在吃第七堆食物前将 改为 ,之后无需再改变 。
由 ChatGPT 4.1 翻译
样例
7
5 3
3 8 5 6 7
5 3
3 10 9 8 7
12 8
25 3 3 17 8 6 1 16 15 25 17 23
10 2
1 2 3 4 5 6 7 8 9 10
8 2
2 4 6 8 6 4 12 14
8 2
2 7 8 9 6 13 21 28
15 5
11 4 13 23 7 10 5 21 20 11 17 5 29 16 11
0
1
2
1
2
4
6
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |