CSES - Datatähti 2017 loppu - Results
Submission details
Task:Jäätelö
Sender:inkeri
Submission time:2017-01-19 15:45:53 +0200
Language:Python3
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.07 sdetails
#2ACCEPTED0.06 sdetails
#30.06 sdetails
#40.06 sdetails
#50.08 sdetails
#60.06 sdetails
#70.07 sdetails
#80.06 sdetails
#90.07 sdetails
#10ACCEPTED0.09 sdetails

Code

import sys

a = input().split(' ')
rahat = int(a[1])
a = int(a[0]) #jäätelöiden määrä
painot = []
hinnat = {}
for i in range(a):
	jatski = [int(b) for b in input().split(' ')]
	painot.append(jatski[1])
	hinnat[jatski[1]] = jatski[0]
if a == 1 or 2 * hinnat[painot[-1]] <= rahat:
	print(2*painot[-1])
	sys.exit()
painot.sort()
alku = -1
while True:
	b = painot[alku]
	for i in range(a + alku, -1, -1):
		c = painot[i]
		if hinnat[b] + hinnat[c] <= rahat:
			break
	d = painot[alku - 1]
	for i in range(a + alku - 1, -1, -1):
		e = painot[i]
		if hinnat[d] + hinnat[e] <= rahat:
			break
	if b + c > d + e:
		print(b + c)
		sys.exit()
	alku -= 1

Test details

Test 1

Verdict: ACCEPTED

input
1 749
88 363

correct output
726

user output
726

Test 2

Verdict: ACCEPTED

input
2 902
968 550
152 228

correct output
456

user output
456

Test 3

Verdict:

input
5 295
35 81
653 771
747 823
871 611
...

correct output
162

user output
904

Test 4

Verdict:

input
10 272
38 13
114 420
42 344
942 307
...

correct output
840

user output
1001

Test 5

Verdict:

input
50 468
867 254
870 736
28 739
60 609
...

correct output
2000

user output
1630

Test 6

Verdict:

input
100 739
395 712
476 916
102 614
312 533
...

correct output
1928

user output
602

Test 7

Verdict:

input
100 781
342 898
466 888
713 516
133 389
...

correct output
1894

user output
634

Test 8

Verdict:

input
100 297
423 506
135 31
279 441
362 969
...

correct output
1906

user output
990

Test 9

Verdict:

input
100 875
917 956
243 815
365 575
42 846
...

correct output
1960

user output
982

Test 10

Verdict: ACCEPTED

input
100 651
963 307
169 423
172 150
779 998
...

correct output
1970

user output
1970