Advertisement
_rashed

UVA 10706

Jun 29th, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #define ll long long
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. const int OO = 1e9;
  6. const double EPS = 1e-9;
  7.  
  8. /*
  9. ll bs(ll x) {
  10.     ll l = 0;
  11.     ll h = 1e9;
  12.     while(true) {
  13.         ll mid = (h+l)/2;
  14.         ll _s = (mid*(mid+1))/2;
  15.         ll _e = ((mid+1)*(mid+2))/2;
  16.         if(x > _s && x <= _e) {
  17.             return mid;
  18.         }
  19.         if(x <= _s) {
  20.             h = mid-1;
  21.         }
  22.         else {
  23.             l = mid+1;
  24.         }
  25.     }
  26. }
  27. */
  28.  
  29. int main()
  30. {
  31.     ios_base::sync_with_stdio(false);
  32.     cin.tie(NULL);
  33.     cout.tie(NULL);
  34.     int t;
  35.     cin >> t;
  36.     while(t--) {
  37.         ll x;
  38.         cin >> x;
  39.         ll sum_prev = 0;
  40.         ll sum = 0;
  41.         ll idx;
  42.         for(ll i = 1; ; i++) {
  43.             sum_prev = sum;
  44.             ll _s = 1;
  45.             ll _e = 9;
  46.             ll d = 1;
  47.             while(_s <= i) {
  48.                 sum += (min(_e,i)-_s+1)*d;
  49.                 d++;
  50.                 _s *= 10;
  51.                 _e = _e*10 + 9;
  52.             }
  53.             if(x <= sum) {
  54.                 idx = i;
  55.                 break;
  56.             }
  57.         }
  58.         x -= sum_prev;
  59.         ll curr_sum = 0;
  60.         for(ll i = 1; ; i++) {
  61.             ll length = to_string(i).length();
  62.             curr_sum += length;
  63.             if(curr_sum >= x) {
  64.                 cout << to_string(i)[length-1-(curr_sum-x)] << "\n";
  65.                 break;
  66.             }
  67.  
  68.         }
  69.         /*ll m = bs(x);
  70.         //cout << "m is " << m << "\n";
  71.         cout << x-(m*(m+1))/2;
  72.         if(t) {
  73.             cout << "\n";
  74.         }*/
  75.     }
  76.     return 0;
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement