| Task: | Kyselyt |
| Sender: | Hege |
| Submission time: | 2017-10-11 21:55:40 +0300 |
| Language: | Python3 |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 12 |
| #2 | ACCEPTED | 25 |
| #3 | ACCEPTED | 63 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.10 s | 1 | details |
| #2 | ACCEPTED | 0.08 s | 2 | details |
| #3 | ACCEPTED | 0.08 s | 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 ... |
| 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 |
