# DatatÃ¤hti 2018 alku

 Start: 2017-10-02 00:00:00 End: 2017-10-16 00:00:00

CSES - DatatÃ¤hti 2018 alku - Results
History
2017-10-11 21:55:40100
2017-10-11 20:45:180
 Task: Kyselyt Sender: Hege Submission time: 2017-10-11 21:55:40 Language: Python3 Status: READY Score: 100

## Feedback

 group verdict score #1 ACCEPTED 12 #2 ACCEPTED 25 #3 ACCEPTED 63

## Test results

 test verdict time (s) group #1 ACCEPTED 0.10 / 1.00 1 details #2 ACCEPTED 0.08 / 1.00 2 details #3 ACCEPTED 0.08 / 1.00 3 details

## Code

```### KYSELYT (dt21k8-x(x-1)||x=10) ###

def infiniteSumCalculator(a):
# we always haz to bear with magnitude of the number.
mag = 1

# spec haz a bug, this is only a hotfix

# lol this do-while h4x again :D
while True:
# i dunno whats going on there but the shell shows it wurkz
a -= 9*10**(mag-1)*mag
if a <= 0:
# counter the decrement ":D"
a += 9*10**(mag-1)*mag
break
# i++ :D
mag += 1

a += mag-1
## fix for the spec hotfix special case
#if mag == 1:
#	a -= 1
#
#	## second hotfix
#	#if mag == 2 and a == 1:
#	#	mag -=1
#	a -= 1

# lets just return this puke from shell
return str(a // mag + 10**(mag-1) -1)[a % mag]

# what about one useless main() more
def main(a):
pass

### just testing functions here ###

def concatenated(a):
return "".join([str(i) for i in range(1,a)])

def massTest(n):
q = concatenated(n)
for i in range(n):
try:
b = infiniteSumCalculator(i+1)
if q[i] != b:
print(i, q[i], b, False)
except Exception as e:
print("{} {} {} {}: {}".format(i, q[i], b, e.__class__.__name__, e))

### testing site ends here ###

# lets escape this thing from pyyttons moduuls
if __name__ == "__main__":
# this looks like a c-ish thing
for i in range(int(input())):
# and this is pyton
print(infiniteSumCalculator(int(input())))

# remember: sometimes u can just prematurely optimize things
# very well but it makes very strange chewgum code. Even me
# cannot fully understand what is happenings in this file.```

## Test details

### Test 1

Group: 1

Verdict: ACCEPTED

input
```1000 582 214 723 273 480 280 237 204 134 210 565 640 784 508 846 532 465 952 205 ...```
view   save

correct output
```0 1 7 7 6 1 5 4 7 6 2 2 2 2 8 2 1 3 1 8 ...```
view   save

user output
```0 1 7 7 6 1 5 4 7 6 2 2 2 2 8 2 1 3 1 8 ...```
view   save

### Test 2

Group: 2

Verdict: ACCEPTED

input
```1000 615664 916441 627600 279508 126605 944125 25887 440405 352957 206746 951305 821686 716797 333476 430123 167570 619834 411383 459670 ...```
view   save

correct output
```1 2 3 2 2 8 7 9 8 3 7 1 9 8 4 3 1 9 9 6 ...```
view   save

user output
```1 2 3 2 2 8 7 9 8 3 7 1 9 8 4 3 1 9 9 6 ...```
view   save

### Test 3

Group: 3

Verdict: ACCEPTED

input
```1000 672274832941907421 260504693279721732 646999966092970935 100853063389774434 469646937576313460 292789544562527987 202678876957048242 921044261294332160 293497307441838185 889420403130803486 887773296767104352 272588988734184089 900854413164191389 306838570888252671 321818592757748092 632312861733842235 590425060048634753 921705179835679834 711775852688052272 ...```
view   save

correct output
```7 2 2 0 9 7 7 2 0 4 0 3 0 5 9 9 3 1 2 7 ...```
view   save

user output
```7 2 2 0 9 7 7 2 0 4 0 3 0 5 9 9 3 1 2 7 ...```
view   save