Submission #1536593


Source Code Expand

def D(N, TIME):
    # 時刻を5分刻みにする
    time = []
    for lst in TIME:
        S_hh = int(lst[0:2])  # 開始時刻(時)
        S_mm = int(lst[2:4])  # 開始時刻(分)
        E_hh = int(lst[5:7])  # 終了時刻(時)
        E_mm = int(lst[7:9])  # 終了時刻(分)
        start = S_hh * 60 + S_mm  # 開始時刻(0時0分からの経過時間(分))
        end = E_hh * 60 + E_mm  # 終了時刻(0時0分からの経過時間(分))
        start -= start % 5  # 丸めた時刻
        end += (5 - (end % 5)) % 5
        time.append([start, end])
    time.sort()  # 開始時刻の早いものソート

    # imos法で行く
    time_part = [0] * 1442  # 1440(1日は1440分)の区間に分けるには1441個の仕切りが必要、番兵として+1
    for lst in time:
        start_index = lst[0]
        end_index = lst[1]
        time_part[start_index] += 1
        time_part[end_index + 1] -= 1
    for i in range(len(time_part) - 1):
        time_part[i + 1] += time_part[i]

    # 1以上の要素が出てきた区間をs,tに詰める(s[i],t[i]が開始-終了)
    f = 0  # 0なら要素に0が来ており、1なら1が来た
    s = []
    t = []
    for i in range(len(time_part)):
        if time_part[i] > 0 and f == 0:
            s.append(i)
            f = 1
        if time_part[i] == 0 and f == 1:
            t.append(i - 1)
            f = 0

    # 開始終了時刻を復元
    rain_time = ''
    for i in range(len(s)):
        s_hh = s[i] // 60
        s_mm = s[i] % 60
        e_hh = t[i] // 60
        e_mm = t[i] % 60
        rain_time += '{0:02d}{1:02d}-{2:02d}{3:02d}\n'.format(
            s_hh, s_mm, e_hh, e_mm)
    return rain_time

n = int(input())
t = [input() for i in range(n)]
print(D(n,t))

Submission Info

Submission Time
Task D - 感雨時刻の整理
User kenseiQ
Language Python (3.4.3)
Score 0
Code Size 1807 Byte
Status WA
Exec Time 143 ms
Memory 10296 KB

Judge Result

Set Name all
Score / Max Score 0 / 100
Status
WA × 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 WA 18 ms 3064 KB
00_sample_02.txt WA 18 ms 3064 KB
00_sample_03.txt WA 18 ms 3064 KB
cho_cho_chokudai.txt WA 105 ms 9188 KB
chokudai_ga_cho.txt WA 122 ms 9892 KB
test_01.txt WA 19 ms 3064 KB
test_02.txt WA 18 ms 3064 KB
test_03.txt WA 19 ms 3064 KB
test_04.txt WA 19 ms 3064 KB
test_05.txt WA 19 ms 3064 KB
test_06.txt WA 19 ms 3064 KB
test_07.txt WA 18 ms 3064 KB
test_08.txt WA 18 ms 3064 KB
test_09.txt WA 20 ms 3188 KB
test_10.txt WA 20 ms 3188 KB
test_11.txt WA 20 ms 3064 KB
test_12.txt WA 19 ms 3064 KB
test_13.txt WA 19 ms 3064 KB
test_14.txt WA 20 ms 3188 KB
test_15.txt WA 20 ms 3188 KB
test_16.txt WA 19 ms 3064 KB
test_17.txt WA 20 ms 3064 KB
test_18.txt WA 19 ms 3064 KB
test_19.txt WA 19 ms 3064 KB
test_20.txt WA 19 ms 3064 KB
test_21.txt WA 139 ms 10076 KB
test_22.txt WA 140 ms 10208 KB
test_23.txt WA 136 ms 10076 KB
test_24.txt WA 143 ms 10228 KB
test_25.txt WA 138 ms 10116 KB
test_26.txt WA 133 ms 9828 KB
test_27.txt WA 121 ms 10144 KB
test_28.txt WA 130 ms 9972 KB
test_29.txt WA 18 ms 3064 KB
test_30.txt WA 18 ms 3064 KB
test_31.txt WA 37 ms 4004 KB
test_32.txt WA 18 ms 3064 KB
test_33.txt WA 96 ms 7632 KB
test_34.txt WA 18 ms 3064 KB
test_35.txt WA 19 ms 3064 KB
test_36.txt WA 141 ms 10176 KB
test_37.txt WA 130 ms 9904 KB
test_38.txt WA 130 ms 9908 KB
test_39.txt WA 136 ms 10296 KB
test_40.txt WA 131 ms 9628 KB
test_41.txt WA 121 ms 9756 KB
test_42.txt WA 129 ms 9968 KB
test_43.txt WA 113 ms 9880 KB