CSES - Datatähti 2018 peili - Results
Submission details
Task:Kyselyt
Sender:Pohjantahti
Submission time:2017-10-02 19:16:32 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED25
#3ACCEPTED63
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.04 s2details
#3ACCEPTED0.04 s3details

Code

#include <iostream>

using namespace std;
typedef long long ll;
typedef __int128 lll;

ll q;

lll pow(lll k, lll e) {
	if (e == 0) return 1;
	lll res = 1;
	for (int i = 0; i < e; ++i) res *= k;
	return res;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cin >> q;
	for (int cq = 0; cq < q; ++cq) {
		ll k;
		cin >> k;
		lll n = 1;
		lll nsti = 1;
		while (true) {
			lll nxsti;
			if (n > 1) nxsti = nsti + (pow(10, n)-pow(10, n-1))*n;
			else nxsti = nsti + 9;
			if (nxsti <= k) {
				nsti = nxsti;
				n++;
			}
			else break;
		}
		lll loc = k-nsti;
		lll num = pow(10, n-1)+(loc/n);
		num /= pow(10, (n-1)-loc%n);
		cout << (int)(num%10) << "\n";
	}	
	return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1000
582
214
723
273
...

correct output
0
1
7
7
6
...

user output
0
1
7
7
6
...

Test 2

Group: 2

Verdict: ACCEPTED

input
1000
615664
916441
627600
279508
...

correct output
1
2
3
2
2
...

user output
1
2
3
2
2
...

Test 3

Group: 3

Verdict: ACCEPTED

input
1000
672274832941907421
260504693279721732
646999966092970935
100853063389774434
...

correct output
7
2
2
0
9
...

user output
7
2
2
0
9
...