Submission #1734981


Source Code Expand

#メモ。見つけた回答から

#! usr/bin/env python3
# -*- coding:utf-8 -*-
 
#感雨時刻の整理
#解説1の sort & merge 
 
time =[]
 
N = int(input())
 
 
#データ作り。リストtime[]に[開始時間,終了時間]を値を丸めて格納した。
for i in range(N):
	S,E = map(int,input().split("-"))
 
	cut = list(map(int,str(S)))
	if cut[-1] > 5:
		S = S - (cut[-1] - 5)
	elif cut[-1] == 0:
		pass
	elif cut[-1] < 5:
		S = S - cut[-1]
 
	cut = list(map(int,str(E)))
 
	if cut[-1] > 5:
		#下2桁は60で繰り上がり <---ずっとバグってた。
		if len(cut) > 1 :
			if cut[-2] == 5:
				E = E + 50 - cut[-1]
			else:
				E = E + (10 - cut[-1])
 
		else:
			E = E + (10 - cut[-1])
 
	elif cut[-1] == 0:
		pass
 
	elif cut[-1] < 5:
		E = E + (5 - cut[-1])
 
	time.append([S,E])
 
#開始時刻でsortする。
time.sort(key=lambda x:x[0])
 
def merge(pair1,pair2):
	if pair1[1] < pair2[0]:
		return 1
	elif pair1[1] >= pair2[1]:
		return 2
	else:
		return 3
 
i = 0
count = len(time) - 2
 
while(True):
 
	if i > count :
		break
 
	sign = merge(time[i],time[i+1])
 
	if sign == 1:
		i += 1
 
	elif sign == 2:
		del time[i+1]
		count -= 1
 
	elif sign == 3:
		time[i] = [time[i][0],time[i+1][1]]
		del time[i+1]
		count -= 1
 
#表示
for pair in time:
	print(str(pair[0]).zfill(4) + "-" + str(pair[1]).zfill(4))

Submission Info

Submission Time
Task D - 感雨時刻の整理
User koka440
Language Python (3.4.3)
Score 100
Code Size 1418 Byte
Status AC
Exec Time 391 ms
Memory 8888 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 48
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, cho_cho_chokudai.txt, chokudai_ga_cho.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 19 ms 3316 KB
00_sample_02.txt AC 18 ms 3188 KB
00_sample_03.txt AC 18 ms 3188 KB
cho_cho_chokudai.txt AC 375 ms 7508 KB
chokudai_ga_cho.txt AC 385 ms 8476 KB
test_01.txt AC 19 ms 3188 KB
test_02.txt AC 19 ms 3188 KB
test_03.txt AC 19 ms 3188 KB
test_04.txt AC 19 ms 3188 KB
test_05.txt AC 19 ms 3188 KB
test_06.txt AC 19 ms 3188 KB
test_07.txt AC 19 ms 3188 KB
test_08.txt AC 18 ms 3188 KB
test_09.txt AC 22 ms 3188 KB
test_10.txt AC 22 ms 3188 KB
test_11.txt AC 21 ms 3188 KB
test_12.txt AC 21 ms 3188 KB
test_13.txt AC 19 ms 3188 KB
test_14.txt AC 23 ms 3188 KB
test_15.txt AC 25 ms 3188 KB
test_16.txt AC 19 ms 3188 KB
test_17.txt AC 22 ms 3188 KB
test_18.txt AC 20 ms 3188 KB
test_19.txt AC 21 ms 3188 KB
test_20.txt AC 22 ms 3188 KB
test_21.txt AC 391 ms 8688 KB
test_22.txt AC 381 ms 8768 KB
test_23.txt AC 388 ms 8712 KB
test_24.txt AC 383 ms 8880 KB
test_25.txt AC 382 ms 8840 KB
test_26.txt AC 389 ms 8608 KB
test_27.txt AC 366 ms 8504 KB
test_28.txt AC 381 ms 8660 KB
test_29.txt AC 18 ms 3064 KB
test_30.txt AC 18 ms 3188 KB
test_31.txt AC 55 ms 3820 KB
test_32.txt AC 18 ms 3188 KB
test_33.txt AC 224 ms 6856 KB
test_34.txt AC 18 ms 3188 KB
test_35.txt AC 20 ms 3188 KB
test_36.txt AC 383 ms 8888 KB
test_37.txt AC 374 ms 8584 KB
test_38.txt AC 376 ms 8572 KB
test_39.txt AC 386 ms 8888 KB
test_40.txt AC 381 ms 8580 KB
test_41.txt AC 354 ms 8220 KB
test_42.txt AC 362 ms 8552 KB
test_43.txt AC 359 ms 8604 KB