Code Submission Evaluation System Login

Datatähti 2017 loppu

Start:2017-01-19 12:15:00
End:2017-01-19 17:15:00
 

Tasks | Messages | Scoreboard | Statistics


CSES - Datatähti 2017 loppu - Results
History
2017-01-19 16:15:11100
2017-01-19 16:13:150
2017-01-19 16:06:510
2017-01-19 16:05:560
2017-01-19 16:04:540
2017-01-19 15:59:240
2017-01-19 15:57:400
2017-01-19 15:56:410
2017-01-19 15:48:590
2017-01-19 15:46:270
2017-01-19 15:45:530
2017-01-19 15:41:430
Task:Jäätelö
Sender:inkeri
Submission time:2017-01-19 16:15:11
Language:Python3
Status:READY
Score:100

Feedback

groupverdictscore
#1ACCEPTED100

Test results

testverdicttime (s)
#1ACCEPTED0.07 / 1.00details
#2ACCEPTED0.06 / 1.00details
#3ACCEPTED0.08 / 1.00details
#4ACCEPTED0.07 / 1.00details
#5ACCEPTED0.08 / 1.00details
#6ACCEPTED0.08 / 1.00details
#7ACCEPTED0.09 / 1.00details
#8ACCEPTED0.05 / 1.00details
#9ACCEPTED0.06 / 1.00details
#10ACCEPTED0.07 / 1.00details

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(' ')]
	paino = jatski[1]
	hinta = jatski[0]
	if paino in painot:
		if hinnat[paino] > hinta:
			hinnat[paino] = hinta
	else:
		painot.append(paino)
		hinnat[paino] = hinta
a = len(painot)
painot.sort()
if a == 1 or 2 * hinnat[painot[-1]] <= rahat:
	print(2*painot[-1])
	sys.exit()
alku = a - 1
painavin = 0
while alku > -1:
	b = painot[alku]
	raja = rahat - hinnat[b]
	for i in range(alku, -1, -1):
		c = painot[i]
		if hinnat[c] <= raja:
			break
		elif i == 0:
			c = - b
	painavin = max(b + c, painavin)
	alku -= 1
print(painavin)

Test details

Test 1

Verdict: ACCEPTED

input
1 749
88 363

view   save

correct output
726

view   save

user output
726

view   save

Test 2

Verdict: ACCEPTED

input
2 902
968 550
152 228

view   save

correct output
456

view   save

user output
456

view   save

Test 3

Verdict: ACCEPTED

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

correct output
162

view   save

user output
162

view   save

Test 4

Verdict: ACCEPTED

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

correct output
840

view   save

user output
840

view   save

Test 5

Verdict: ACCEPTED

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

correct output
2000

view   save

user output
2000

view   save

Test 6

Verdict: ACCEPTED

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

correct output
1928

view   save

user output
1928

view   save

Test 7

Verdict: ACCEPTED

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

correct output
1894

view   save

user output
1894

view   save

Test 8

Verdict: ACCEPTED

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

correct output
1906

view   save

user output
1906

view   save

Test 9

Verdict: ACCEPTED

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

correct output
1960

view   save

user output
1960

view   save

Test 10

Verdict: ACCEPTED

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

correct output
1970

view   save

user output
1970

view   save