子段和二象性
题号:NC263992
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

若取数组 A 中连续的一段元素组成一个新数组 B,则称 BA 的一个子段。例如 [1, 2, 3][4] 都是数组 [1, 2, 3, 4] 的子段,但 [1, 4] 不是。

现在,沃若有一个神奇的数组 X,它由若干个整数组成。满足其中任意长度为 n 的子段的和都严格大于 0,且其中任意长度为 m 的子段的和都严格小于 0

沃若想知道:这个数组 X 的长度最大可以是多少。

输入描述:

输入由多组数据构成。

第一行一个正整数 T (1 \leq T \leq 10^5),表示共有 T 组数据。

对于每组数据,有一行两个空格分隔的正整数 n (1 \leq n \leq 10^9)m (1 \leq m \leq 10^9)

输出描述:

对于每组数据:输出一行一个整数表示答案。
示例1

输入

复制
2
2 2
2 3

输出

复制
1
3

说明

对于第一组数据,任意长度为 2 的子段的和既要为正,又要为负,这是不可能的。所以不能存在长度为 2 的子段,即数组的长度至多为 1

对于第二组数据,[-2, 3, -2] 即为一个合法的构造。可以证明,不存在长度大于等于 4 的方案。