AtCoder Beginner Contest 001

Submission #109271

Source codeソースコード

#! -*- coding:utf-8 -*-

if __name__ == "__main__":
    

    input_num = int(input())

    input_list = []

    for _ in range(input_num):
        item = input()
        rain_time = item.split("-")

        input_list.append((rain_time[0],rain_time[1]))

    point = 0

    tmp_list = []

    for item in input_list:
        start = int(item[0])
        end = int(item[1])
        start_time = int(start / 100)
        start_minute = int(start % 100)
        end_time = int(end / 100)
        end_minute = int(end % 100)
        


        start_minute = int(start_minute/5) * 5
        
        if( (end_minute % 5) != 0):
            end_minute = (int(end_minute/5) + 1) * 5
        if(end_minute == 60):
            end_minute = 0
            end_time += 1
        start = int(start_time * 100 + start_minute)
        end = int(end_time * 100 + end_minute)
        tmp_list.append((start,end))



    sorted_list = sorted(tmp_list)
    list_size = len(sorted_list) 

    while point < list_size - 1:
        b_start = sorted_list[point][0]
        b_end = sorted_list[point][1]
        n_start = sorted_list[point+1][0]
        n_end = sorted_list[point+1][1]

        if(b_end >= n_start):

            start = b_start

            if(b_end >= n_end):
                end = b_end
            else:
                end = n_end
            sorted_list.pop(point+1)
            sorted_list.pop(point)
            sorted_list.insert(point,(start,end))
            list_size -=  1
        else:
            point += 1



    for item in sorted_list:
        start = item[0]
        end = item[1]

        start_time = int(start / 100)
        start_minute = start % 100
        end_time = int(end / 100)
        end_minute = end % 100

        if(start_time < 10):
            start_time_string = "0" + str(start_time)
        else:
            start_time_string = str(start_time)
        if(start_minute < 10):
            start_minute_string = "0" + str(start_minute)
        else:
            start_minute_string = str(start_minute)

        if(end_time < 10):
            end_time_string = "0" + str(end_time)
        else:
            end_time_string = str(end_time)

        if(end_minute < 10):
            end_minute_string = "0" + str(end_minute)
        else:
            end_minute_string = str(end_minute)

        start_string = start_time_string + start_minute_string
        end_string = end_time_string + end_minute_string

        output_line = start_string + "-" + end_string
        print(output_line)

Submission

Task問題 D - 感雨時刻の整理
User nameユーザ名 あっちっち
Created time投稿日時
Language言語 Python3 (3.2.3)
Status状態 AC
Score得点 100
Source lengthソースコード長 2624 Byte
File nameファイル名
Exec time実行時間 1598 ms
Memory usageメモリ使用量 21548 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 306 ms 8416 KB
00_sample_02.txt AC 144 ms 8360 KB
00_sample_03.txt AC 141 ms 8492 KB
cho_cho_chokudai.txt AC 1386 ms 20512 KB
chokudai_ga_cho.txt AC 1416 ms 21276 KB
test_01.txt AC 153 ms 8396 KB
test_02.txt AC 147 ms 8364 KB
test_03.txt AC 144 ms 8360 KB
test_04.txt AC 143 ms 8492 KB
test_05.txt AC 149 ms 8364 KB
test_06.txt AC 146 ms 8408 KB
test_07.txt AC 145 ms 8396 KB
test_08.txt AC 144 ms 8396 KB
test_09.txt AC 150 ms 8488 KB
test_10.txt AC 157 ms 8416 KB
test_11.txt AC 148 ms 8492 KB
test_12.txt AC 150 ms 8416 KB
test_13.txt AC 145 ms 8412 KB
test_14.txt AC 151 ms 8412 KB
test_15.txt AC 152 ms 8412 KB
test_16.txt AC 147 ms 8468 KB
test_17.txt AC 147 ms 8368 KB
test_18.txt AC 148 ms 8488 KB
test_19.txt AC 161 ms 8364 KB
test_20.txt AC 149 ms 8364 KB
test_21.txt AC 1437 ms 21408 KB
test_22.txt AC 1450 ms 21448 KB
test_23.txt AC 1459 ms 21548 KB
test_24.txt AC 1438 ms 21532 KB
test_25.txt AC 1452 ms 21532 KB
test_26.txt AC 1442 ms 21408 KB
test_27.txt AC 1405 ms 21528 KB
test_28.txt AC 1446 ms 21404 KB
test_29.txt AC 144 ms 8364 KB
test_30.txt AC 141 ms 8364 KB
test_31.txt AC 223 ms 9936 KB
test_32.txt AC 141 ms 8360 KB
test_33.txt AC 798 ms 16540 KB
test_34.txt AC 144 ms 8396 KB
test_35.txt AC 142 ms 8364 KB
test_36.txt AC 1463 ms 21532 KB
test_37.txt AC 1469 ms 21344 KB
test_38.txt AC 1437 ms 21236 KB
test_39.txt AC 1598 ms 21528 KB
test_40.txt AC 1441 ms 21148 KB
test_41.txt AC 1400 ms 21328 KB
test_42.txt AC 1420 ms 21312 KB
test_43.txt AC 1380 ms 21308 KB