CSES - Datatähti 2018 alku - Results
Submission details
Task:Kyselyt
Sender:Uolevi
Submission time:2017-10-12 09:08:27 +0300
Language:Python3
Status:READY
Result:37
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED25
#30
Test results
testverdicttimegroup
#1ACCEPTED0.13 s1details
#2ACCEPTED0.10 s2details
#30.09 s3details

Code

import math
#k = int(input(""))
k=int(input(""))
vastaus = []
for q in range(k):
    inputti = int(input(""))
    array = [9]

    for i in range(1,19):
        array.append(int(round((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
    #print(kohta)
    if inputti < 10:
        vastaus.append(inputti)
    else:
        #print(inputti,sum(array[:kohta-1]))
        luku = int(inputti-int(sum(array[:kohta-1])))
        #print(luku,"luku")
        #print(luku,"LUKU")
        #print(sum(array[:kohta-1]), "JAA")
        string = int(luku%kohta-1)
        #print(string,"sting")
        #print(math.ceil(float(luku)/float(kohta)), kohta)
        lukuYlä = int(math.ceil(luku/kohta) - 1)
        #print(lukuYlä,"lukuYlä")
        lukuYlä += int(10**(kohta-1))
        #print(lukuYlä,"lukuYlä2")
        #print(string,lukuYlä)
        #print(lukuYlä,string)
        #print(string,lukuYlä)
        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
...

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:

input
1000
672274832941907421
260504693279721732
646999966092970935
100853063389774434
...

correct output
7
2
2
0
9
...

user output
7
2
2
0
9
...