cses

My solution for the coding challenges of cses.fi
git clone https://git.tronto.net/cses
Download | Log | Files | Refs | README

digit_queries_2431.cpp (388B)


      1 #include <iostream>
      2 
      3 int f(long long k) {
      4 	long long n{1}, p{1}, d{1}, q{9};
      5 	while (p + d*q <= k) {
      6 		n += q;
      7 		p += d * q;
      8 		d++;
      9 		q *= 10;
     10 	}
     11 	long long x{(k-p) / d + n};
     12 	long long m{(k-p) % d};
     13 	for (long long j = 0; j < d-m-1; j++)
     14 		x /= (long long)10;
     15 	return x % (long long)10;
     16 }
     17 
     18 int main() {
     19 	long long k;
     20 	std::cin >> k;
     21 	while (std::cin >> k)
     22 		std::cout << f(k) << "\n";
     23 }