CSES - Datatähti 2018 alku - Results
Submission details
Task:Kyselyt
Sender:Tannhäuser
Submission time:2017-10-02 00:29:39 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED25
#3ACCEPTED63
Test results
testverdicttimegroup
#1ACCEPTED0.08 s1details
#2ACCEPTED0.07 s2details
#3ACCEPTED0.08 s3details

Code

#include <bits/stdc++.h>
#define N (1<<19)
#define ll long long
#define ld long double
#define M 1000000007
#define INF 0x5ADFACE5
#define LINF 0x51DEEFFEC7C0DECALL
#define pii pair<int, int>
#define pll pair<long long, long long>
#define F first
#define S second
using namespace std;
int main () {
int n;
cin>>n;
string lol = "";
int qaq = 1;
while (lol.length() < 1000000) {
lol += to_string(qaq);
qaq++;
}
for (int i = 0; i < n; i++) {
ll k;
cin>>k;
ll c = 0;
ll m = 1;
ll x = 1;
if (k <= 1000000) {
cout<<lol[k - 1]<<endl;
continue;
}
while (c + 9 * m * x < k) {
c += 9 * m;
k -= 9 * m * x;
m *= 10;
x++;
}
k--;
m += k / x;
string s = to_string(m);
cout<<s[k % x]<<endl;
}
}

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
...
Truncated

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
...
Truncated

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
...
Truncated