A. Deadline

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

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

Copy

3
1 1
4 5
5 11

output

Copy

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.

解题说明:此题是一道数学题,暴力枚举判断是否满足条件即可。



#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>

using namespace std;

int main()
{
	int n, j, x, T, i, day[100], a, d;
	scanf("%d", &T);
	while (T--)
	{
		j = 2;
		scanf("%d%d", &n, &d);
		for (x = 0; x<n; x++)
		{
			if (d % (x + 1) != 0)
			{
				a = d / (x + 1) + 1;
			}
			else
			{
				a = d / (x + 1);
			}
			day[i] = x + a;
			if (day[i] <= n)
			{
				j = 1; 
				printf("YES\n");
				break;
			}
		}
		if (j != 1)
		{
			printf("NO\n");
		}
	}
	return 0;
}
发布了1749 篇原创文章 · 获赞 382 · 访问量 276万+

猜你喜欢

转载自blog.csdn.net/jj12345jj198999/article/details/104119131