题目链接
题目大意:
卖猫粮的把 a 罐打包在一起以折扣价卖 这样 想买 x 罐的顾客就会先以折扣价买 x/a 个大包 然后再以原价一罐一罐的买 x%a 罐
然后顾客也不傻 只要 x%a >= a/2 他就不用折扣价买 就直接买 一包 即 a 罐 这样老板就高兴了 因为卖出去的更多了
问 是否存在打包方式可以卖出去更多
解题思路:
一开始没读懂题 怪不得六级过不了啊...
a 罐 a 罐的打包 [ l ,r ] 的范围 a 肯定是大于 r的 如果在 l 和 r 之间 一定存在一个顾客可以直接买 a 罐 不会多买了
所以 a 的值最小为 r+1 然后 x%a >= a/2 即 x >= a/2 也就是 l >= ( r+ 1) /2
化简 l * 2 >= r+1
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int main()
{
ll t,l,r;
cin>>t;
while(t--)
{
cin>>l>>r;
if(l*2>=(r+1))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}