#CF1995A. A. 对角线
A. 对角线
A. 对角线
每个测试的时间限制:1秒
内存限制:256兆字节
Vitaly503 拿到了一块边长为 的棋盘和 个棋子。他发现需要将这 个棋子全部放在棋盘的格子中(每个格子最多放一个棋子)。
我们用 表示第 行第 列的格子。对角线 是指满足 值相同的所有格子的集合。例如,格子 、 和 位于同一条对角线上,但 和 则不在同一条对角线上。如果某条对角线上至少有一个棋子,则称该对角线为 被占用的。
在所有可能的 个棋子的放置方案中,求被占用的对角线数量的最小值。
输入
每个测试包含多组数据。第一行包含一个整数 ()—— 数据组数。接下来是各组数据的描述。
每组数据只有一行,包含两个整数 、(,)—— 棋盘的边长和可用棋子的数量。
输出
对于每组数据,输出一个整数 —— 在所有 个棋子放置完毕后,被占用的对角线的最小可能数量。
示例
输入
7
1 0
2 2
2 3
2 4
10 50
100 239
3 9
输出
0
1
2
3
6
3
5
说明
- 第一个测试用例:没有棋子,所以被占用的对角线数为 。
- 第二个测试用例:两个棋子可以都放在对角线 上,因此答案为 。
- 第三个测试用例: 个棋子不能全部放在同一条对角线上,但可以将它们放在 上,这样占用 条对角线。
- 第七个测试用例:无论怎么放,棋子都会占满全部 条对角线。