Submission #5444125


Source Code Expand

from sys import stdin


def readLines():
    return [line.rstrip() for line in iter(stdin.readline, '')]


def putLine(line):
    print(line, flush=True)


def putLines(lines):
    for line in lines:
        putLine(line)


def getindex(b1, b2, a1, a2):
    toMinutes = (lambda h, m: int(h)*60 + int(m))
    b = toMinutes(b1, b2)
    b = b - (b % 5)
    a = toMinutes(a1, a2)
    a = a if a % 5 == 0 else a + (5-(a % 5))
    return (b//5, a//5)


def main(lines):
    """
    implemente concret logic
    """

    # 範囲記録(要素数=24時間を5分刻み)
    period = [0 for _ in range(((24*60)//5) + 1)]

    for l in lines[1:]:
        # 前後を時、分でそれぞれ分割
        [(b1, b2), (a1, a2)] = [(x[:2], x[2:]) for x in l.split("-")]
        # 範囲記録表に対するインデックスへ変換
        (bi, ai) = getindex(b1, b2, a1, a2)
        # 該当始点、終点にフラグを立てる
        for i in range(bi, ai):
            period[i] = 1

    # 範囲記録からフラグが立っている範囲を取得
    tostr = (lambda x: "%02d%02d" % (x//60, x % 60))
    size = len(period)
    i = 0
    result = []
    while i < size:
        try:
            # 始点探索
            beg = period.index(1, i, size)
            # 終点探索
            end = period.index(0, beg + 1, size)

            t0 = tostr(beg*5)
            t1 = tostr(end*5)
            result.append(t0 + "-" + t1)
            i = end + 1

        except ValueError:
            break

    return result


putLines(main(readLines()))

Submission Info

Submission Time
Task D - 感雨時刻の整理
User tatsuyaamasaki
Language Python (3.4.3)
Score 100
Code Size 1616 Byte
Status AC
Exec Time 409 ms
Memory 5548 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 17 ms 3064 KB
00_sample_02.txt AC 17 ms 3064 KB
00_sample_03.txt AC 17 ms 3064 KB
cho_cho_chokudai.txt AC 409 ms 5424 KB
chokudai_ga_cho.txt AC 213 ms 5428 KB
test_01.txt AC 19 ms 3064 KB
test_02.txt AC 19 ms 3064 KB
test_03.txt AC 19 ms 3064 KB
test_04.txt AC 19 ms 3064 KB
test_05.txt AC 19 ms 3064 KB
test_06.txt AC 20 ms 3064 KB
test_07.txt AC 19 ms 3064 KB
test_08.txt AC 18 ms 3064 KB
test_09.txt AC 23 ms 3064 KB
test_10.txt AC 21 ms 3064 KB
test_11.txt AC 20 ms 3064 KB
test_12.txt AC 21 ms 3064 KB
test_13.txt AC 18 ms 3064 KB
test_14.txt AC 21 ms 3064 KB
test_15.txt AC 23 ms 3064 KB
test_16.txt AC 18 ms 3064 KB
test_17.txt AC 20 ms 3064 KB
test_18.txt AC 18 ms 3064 KB
test_19.txt AC 20 ms 3064 KB
test_20.txt AC 19 ms 3064 KB
test_21.txt AC 136 ms 5420 KB
test_22.txt AC 171 ms 5420 KB
test_23.txt AC 142 ms 5420 KB
test_24.txt AC 168 ms 5428 KB
test_25.txt AC 151 ms 5428 KB
test_26.txt AC 121 ms 5428 KB
test_27.txt AC 120 ms 5548 KB
test_28.txt AC 125 ms 5420 KB
test_29.txt AC 17 ms 3064 KB
test_30.txt AC 18 ms 3064 KB
test_31.txt AC 33 ms 3316 KB
test_32.txt AC 18 ms 3064 KB
test_33.txt AC 86 ms 4596 KB
test_34.txt AC 18 ms 3064 KB
test_35.txt AC 19 ms 3064 KB
test_36.txt AC 190 ms 5420 KB
test_37.txt AC 124 ms 5428 KB
test_38.txt AC 123 ms 5420 KB
test_39.txt AC 126 ms 5428 KB
test_40.txt AC 129 ms 5424 KB
test_41.txt AC 262 ms 5420 KB
test_42.txt AC 259 ms 5420 KB
test_43.txt AC 257 ms 5420 KB