测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16784. Lawn Mower

编程题 普及-
知识点

题目描述

夏季别墅的出口用篱笆围起来,篱笆由 $ n $ 块木板组成,每块木板宽 $ 1 $ 米。出口的左右两侧是其他地块的篱笆。为了建造浴室,可能需要拆除篱笆中的一些木板(可能是全部,也可能一块都不拆)。同时,地块上有一台宽度为 $ w $ 米的自动割草机,它不能通过篱笆上的缺口离开地块。

如果在被拆除的木板编号中,存在至少 $ w $ 块连续被拆除的木板,那么割草机就能够离开地块。请确定可以从篱笆上拆除的最大木板数量。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $ t $ ( $ 1 \le t \le 10^4 $ )。接下来是每个测试用例的描述。

每个测试用例仅有一行,包含两个整数 $ 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 $ 块木板组成。

![](/uploads/acgo/image/d31405ba9c1047dc9ba0f81d98d76b34_716a90ad61b4.png) 你可以拆除 $ 6 $ 块木板,只留下编号为 $ 2 $ 、 $ 5 $ 和 $ 8 $ 的木板。这样割草机就无法离开地块的边界。

![](/uploads/acgo/image/1943b59387814bc892370a9ac591717a_776069f389de.png) 在第二个测试用例中,你可以拆除 $ 10 $ 块木板,一种可能的布置方式如下图所示。

![](/uploads/acgo/image/1242ea7bc5004fa0a0fe82c2e2d1ace1_c8a68516bc43.png)
上一题 去做题 下一题