Code Submission Evaluation System Login

Datatähti 2018 alku

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

Tasks | Messages | Scoreboard | Statistics


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

groupverdictscore
#1ACCEPTED12
#2ACCEPTED25
#3ACCEPTED63

Test results

testverdicttime (s)group
#1ACCEPTED0.10 / 1.001details
#2ACCEPTED0.08 / 1.002details
#3ACCEPTED0.08 / 1.003details

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