CF1437A.Marketing Scheme

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Marketing Scheme

题目描述

你在一家宠物店担任市场营销员,你当前的任务是提升猫粮的销量。其中一种策略是将猫粮罐头打包销售,并给予折扣。

假设你决定将 aa 个罐头组成一包进行打折销售,而某位顾客想要购买 xx 个猫粮罐头。那么他会采取一种贪心策略:

  • 他会先购买 xa\left\lfloor \frac{x}{a} \right\rfloor 包打折的猫粮;
  • 然后他会单独购买剩下的 (xmoda)(x \bmod a) 个罐头。

xa\left\lfloor \frac{x}{a} \right\rfloor 表示 xx 除以 aa 向下取整,xmodax \bmod a 表示 xx 除以 aa 的余数。

但顾客通常很贪心,如果顾客想要单独购买 (xmoda)(x \bmod a) 个罐头,并且恰好有 (xmoda)a2(x \bmod a) \ge \frac{a}{2},他会决定直接再买一整包 aa 个罐头(而不是只买 (xmoda)(x \bmod a) 个)。这会让你这个市场营销员很高兴,因为顾客买的比他最初想要的还多。

你知道每一个来到你店里的顾客,可能会购买 llrr 个罐头(包含 llrr)。你能否选择一个合适的包大小 aa,使得每个顾客都比他们最初想要的买得更多?

输入格式

第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。

每个测试用例的第一行包含两个整数 llrr1lr1091 \le l \le r \le 10^9),表示顾客可能购买的罐头数量区间。

输出格式

对于每个测试用例,如果你能选择一个合适的包大小 aa,使得每个顾客都比他们最初想要的买得更多,输出 YES。否则输出 NO。

你可以用任意大小写输出每个字符。

说明/提示

在第一个测试用例中,你可以选择 a=5a = 5 作为包的大小。那么如果顾客想买 33 个罐头,他会买 55 个(3mod5=33 \bmod 5 = 352=2.5\frac{5}{2} = 2.5)。想买 44 个罐头的顾客也会买 55 个。

在第二个测试用例中,没有办法选择合适的 aa

在第三个测试用例中,你可以选择 a=80a = 80

由 ChatGPT 4.1 翻译

样例

3
3 4
1 2
120 150
YES
NO
YES

在线编程 IDE

建议全屏模式获得最佳体验