A. Deadline
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
Adilbek was assigned to a special project. For Adilbek it means that he has n days to run a special program and provide its results. But there is a problem: the program needs to run for d days to calculate the results.
Fortunately, Adilbek can optimize the program. If he spends x (x is a non-negative integer) days optimizing the program, he will make the program run in ⌈dx+1⌉ days (⌈a⌉ is the ceiling function: ⌈2.4⌉=3, ⌈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⌉.
Will Adilbek be able to provide the generated results in no more than n days?
Input
The first line contains a single integer T (1≤T≤50) — the number of test cases.
The next T lines contain test cases – one per line. Each line contains two integers n and d (1≤n≤109, 1≤d≤109) — the number of days before the deadline and the number of days the program runs.
Output
Print T answers — one per test case. For each test case print YES (case insensitive) if Adilbek can fit in n days or NO (case insensitive) otherwise.
Example
inputCopy
3
1 1
4 5
5 11
outputCopy
YES
YES
NO
Note
In the first test case, Adilbek decides not to optimize the program at all, since d≤n.
In the second test case, Adilbek can spend 1 day optimizing the program and it will run ⌈52⌉=3 days. In total, he will spend 4 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 2 days, it’ll still work ⌈112+1⌉=4 days.
#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
int main() {
ll t,a,b;
ll flag=9,ans=0;
cin>>t;
while(t--) {
flag=9;
ans=0;
cin>>a>>b;
while(b>=flag){
flag*=10;
flag+=9;
ans+=a;
}
cout<<ans<<endl;
}
return 0;
}