CSES - Datatähti 2018 alku - Results
Submission details
Task:Kyselyt
Sender:Uolevi
Submission time:2017-10-11 15:03:02 +0300
Language:Python3
Status:READY
Result:12
Feedback
groupverdictscore
#1ACCEPTED12
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.15 s1details
#20.13 s2details
#30.11 s3details

Code

import math
k = int(input(""))
vastaus = []
for q in range(k):
    inputti = int(input(""))
    array = [9]
    modArray = []
    potenssit = [1,2,4,8,16]
    for i in range(1,19):
        array.append((array[i-1]*10)/(i)*(i+1))
    for i in range(19,0,-1):
        if inputti > sum(array[:i]):
            kohta = i+1
            break
        kohta = 1
    for i in range(0,18):
        modArray.append(array[i]%(i+2))

    if inputti < 10:
        vastaus.append(inputti)
    else:
        jokuluku = 0
        for i in range(0,18):
            if modArray[i] != 0:
                jokuluku+=1
            if i >= kohta:
                break
        luku = inputti-sum(array[:kohta-1])
        lukuYlä = math.ceil(luku/kohta) - 1
        lukuYlä += int(10**(kohta-1))
        string = int(int(inputti%(kohta)))-1
        if kohta in potenssit:
            string -= 1

        vastaus.append(str(lukuYlä)[string])
for i in vastaus:
    print(i)

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:

input
1000
615664
916441
627600
279508
...

correct output
1
2
3
2
2
...

user output
1
1
8
1
3
...
Truncated

Test 3

Group: 3

Verdict:

input
1000
672274832941907421
260504693279721732
646999966092970935
100853063389774434
...

correct output
7
2
2
0
9
...

user output
1
4
1
6
6
...
Truncated