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 |