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;
}