CF1437A Marketing Scheme 题解

Content

\(t\) 组询问,每组询问给定两个整数 \(l,r\),问是否存在一个 \(a\),使得 \(\forall x\in[l,r]\),都有 \(x\mod a\geqslant\dfrac{a}{2}\)

数据范围:\(1\leqslant t\leqslant 1000,1\leqslant l,r\leqslant 10^9\)

Solution

我们可以让 \(a=2x\),这样就很容易使得 \(x\mod a\geqslant \dfrac{a}{2}\),因此我们只需要看是否有 \(l\times 2\leqslant r\) 即可,如果这个条件成立的话,那么后面必会有一部分不能够满足 \(x\mod a\geqslant \dfrac{a}{2}\),因为到某一个点肯定会有 \(x\mod a=0\),然后之后就会有一部分 \(x\mod a<\dfrac{a}{2}\) 了。而且,我们很容易证明,没有办法能够使得 \(a>2x\),否则肯定不会满足条件。所以,这样的话就不能够满足题目所给的条件了。

如果能够想清楚的话,这道题目还是挺简单的。

Code

int t, l, r;
     
int main() {
	//This program is written in Windows 10 by Eason_AC
	getint(t);
	while(t--) {
		getint(l), getint(r);
		if(l * 2 <= r) puts("NO"); else puts("YES");
	}
	return 0;
}
posted @ 2021-12-16 15:03  Eason_AC  阅读(40)  评论(0)    收藏  举报