A16784 | Lawn Mower
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
夏季别墅的出口用篱笆围起来,篱笆由 $ n $ 块木板组成,每块木板宽 $ 1 $ 米。出口的左右两侧是其他地块的篱笆。为了建造浴室,可能需要拆除篱笆中的一些木板(可能是全部,也可能一块都不拆)。同时,地块上有一台宽度为 $ w $ 米的自动割草机,它不能通过篱笆上的缺口离开地块。
如果在被拆除的木板编号中,存在至少 $ w $ 块连续被拆除的木板,那么割草机就能够离开地块。请确定可以从篱笆上拆除的最大木板数量。
如果在被拆除的木板编号中,存在至少 $ w $ 块连续被拆除的木板,那么割草机就能够离开地块。请确定可以从篱笆上拆除的最大木板数量。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 $ t $ ( $ 1 \le t \le 10^4 $ )。接下来是每个测试用例的描述。
每个测试用例仅有一行,包含两个整数 $ n $ 和 $ w $ ( $ 1 \leq n \leq 10^{9} $ , $ 1 \leq w \leq 10^{9} $ )——分别表示篱笆中的木板数量和割草机的宽度(单位:米)。
每个测试用例仅有一行,包含两个整数 $ n $ 和 $ w $ ( $ 1 \leq n \leq 10^{9} $ , $ 1 \leq w \leq 10^{9} $ )——分别表示篱笆中的木板数量和割草机的宽度(单位:米)。
输出格式
对于每个测试用例,输出一个数字——可以从篱笆上拆除的最大木板数量。
输入输出样例
输入 #1
5 9 3 13 4 15 14 20 1 1000 42
输出 #1
6 10 14 0 977
在第一个测试用例中,篱笆由 $ 9 $ 块木板组成。
 你可以拆除 $ 6 $ 块木板,只留下编号为 $ 2 $ 、 $ 5 $ 和 $ 8 $ 的木板。这样割草机就无法离开地块的边界。
 在第二个测试用例中,你可以拆除 $ 10 $ 块木板,一种可能的布置方式如下图所示。

 你可以拆除 $ 6 $ 块木板,只留下编号为 $ 2 $ 、 $ 5 $ 和 $ 8 $ 的木板。这样割草机就无法离开地块的边界。
 在第二个测试用例中,你可以拆除 $ 10 $ 块木板,一种可能的布置方式如下图所示。

C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?