Deadline(数学均值不等式)

Adilbek was assigned to a special project. For Adilbek it means that he has nn days to run a special program and provide its results. But there is a problem: the program needs to run for dd days to calculate the results.

Fortunately, Adilbek can optimize the program. If he spends xx (xx is a non-negative integer) days optimizing the program, he will make the program run in ⌈dx+1⌉⌈dx+1⌉ days (⌈a⌉⌈a⌉ is the ceiling function: ⌈2.4⌉=3⌈2.4⌉=3, ⌈2⌉=2⌈2⌉=2). The program cannot be run and optimized simultaneously, so the total number of days he will spend is equal to x+⌈dx+1⌉x+⌈dx+1⌉.

Will Adilbek be able to provide the generated results in no more than nn days?

Input
The first line contains a single integer TT (1≤T≤501≤T≤50) — the number of test cases.

The next TT lines contain test cases – one per line. Each line contains two integers nn and dd (1≤n≤1091≤n≤109, 1≤d≤1091≤d≤109) — the number of days before the deadline and the number of days the program runs.

Output
Print TT answers — one per test case. For each test case print YES (case insensitive) if Adilbek can fit in nn days or NO (case insensitive) otherwise.

Example
Input
3
1 1
4 5
5 11
Output
YES
YES
NO
Note
In the first test case, Adilbek decides not to optimize the program at all, since d≤nd≤n.

In the second test case, Adilbek can spend 11 day optimizing the program and it will run ⌈52⌉=3⌈52⌉=3 days. In total, he will spend 44 days and will fit in the limit.

In the third test case, it’s impossible to fit in the limit. For example, if Adilbek will optimize the program 22 days, it’ll still work ⌈112+1⌉=4⌈112+1⌉=4 days.
由题目可知求在这里插入图片描述与n的关系,我们根据均值不等式求转化成求上一个石子的最小值和n的关系。
代码如下:

#include<bits/stdc++.h>
#define ll long long
using namespace std;

int n,d;

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&d);
		int x=ceil(2.0 * sqrt(1.0 * d) - 1);
		//cout<<x<<endl;
		if(d<=n||x<=n) cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
}

努力加油a啊,(o)/~

发布了414 篇原创文章 · 获赞 23 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/starlet_kiss/article/details/104126782