Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("2017.in");
- ofstream fout("2017.out");
- int q, c;
- long long k;
- long long cautfr(long long n, int c)
- {
- long long sol=0, p10=1, ant=0;
- if(n==1 && c==1)
- return 1;
- while(n>=c)
- {
- if(n%10>c)
- sol+=(n/10+1)*p10;
- else if(n%10==c)
- sol+=(n/10)*p10+ant+1;
- else sol += (n/10)*p10;
- ant += (n%10)*p10;
- n /= 10;
- p10*=10;
- }
- return sol;
- }
- long long cautb(int c, long long k)
- {
- long long li=1, ls=1e13, mij, ok;
- while(li<=ls)
- {
- mij=(li+ls)/2;
- if(cautfr(mij,c)>=k)
- {
- ok=mij;
- ls=mij-1;
- }
- else
- li=mij+1;
- }
- return ok;
- }
- int main()
- {
- int i;
- fin>>q;
- for(i=1;i<=q;i++)
- {
- fin>>c>>k;
- fout<<cautb(c,k)<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement