Submission #1226533


Source Code Expand

import java.util.Scanner;

public class Main {
    private static short[] rainTime;

    public static void main(String args[]) {
        rainTime = new short[24];
        Scanner scan = new Scanner(System.in);
        int count = scan.nextInt();
        for (int i = 0; i < count; i++) {
            decode(scan.next());
        }

//        for (Short time : rainTime) {
//            System.out.println(String.format("%12s", Integer.toBinaryString(time)).replaceAll(" ", "0"));
//        }

        boolean now = false;
        for (int i = 0; i < rainTime.length; i++) {
            for (int j = 0; j < 12; j++) {
                if ((rainTime[i] & (1 << j)) != 0) {
                    if (!now) {
                        System.out.print(String.format("%2d%2d", i, j * 5).replaceAll(" ", "0"));
                        System.out.print("-");
                        now = true;
                    }
                } else {
                    if (now) {
                        now = false;
                        System.out.println(String.format("%2d%2d", i, j * 5).replaceAll(" ", "0"));
                    }
                }
            }
        }
        if (now) {
            System.out.println("2400");
        }


        scan.close();
    }

    private static void decode(String timeRange) {
        int startHour, startMin, endHour, endMin;
        startHour = Integer.parseInt(timeRange.substring(0, 2));
        startMin = Integer.parseInt(timeRange.substring(2, 4));
        endHour = Integer.parseInt(timeRange.substring(5, 7));
        endMin = Integer.parseInt(timeRange.substring(7, 9));
        startMin -= startMin % 5;

        if (endMin % 5 != 0) {
            endMin += 5 - endMin % 5;
        }
        if (startMin == 60) {
            startMin = 0;
            startHour++;
        }

        if (endMin == 60) {
            endMin = 0;
            endHour++;
        }
        startMin /= 5;
        endMin /= 5;

        int tt = startMin;
        for (int i = startHour; i < endHour + 1; i++) {
            if (i == 24) {
                continue;
            }
            short temp = 0;
            for (int j = tt; j < 12; j++) {
                if (i == endHour && j == endMin) {
                    break;
                }
                temp |= 1 << j;
                tt = 0;
            }
            rainTime[i] |= temp;
        }

//        System.out.println(startHour);
//        System.out.println(startMin);
//        System.out.println(endHour);
//        System.out.println(endMin);
    }
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User KMConner
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 2639 Byte
Status AC
Exec Time 364 ms
Memory 43396 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 94 ms 21972 KB
00_sample_02.txt AC 92 ms 18764 KB
00_sample_03.txt AC 94 ms 20948 KB
cho_cho_chokudai.txt AC 364 ms 42568 KB
chokudai_ga_cho.txt AC 277 ms 39844 KB
test_01.txt AC 151 ms 22356 KB
test_02.txt AC 148 ms 21712 KB
test_03.txt AC 145 ms 23252 KB
test_04.txt AC 147 ms 21588 KB
test_05.txt AC 148 ms 21332 KB
test_06.txt AC 108 ms 21460 KB
test_07.txt AC 101 ms 22228 KB
test_08.txt AC 101 ms 20180 KB
test_09.txt AC 122 ms 20180 KB
test_10.txt AC 117 ms 20180 KB
test_11.txt AC 130 ms 22100 KB
test_12.txt AC 112 ms 21072 KB
test_13.txt AC 104 ms 21588 KB
test_14.txt AC 129 ms 21752 KB
test_15.txt AC 114 ms 20052 KB
test_16.txt AC 103 ms 22100 KB
test_17.txt AC 121 ms 22100 KB
test_18.txt AC 103 ms 21972 KB
test_19.txt AC 116 ms 19412 KB
test_20.txt AC 123 ms 21460 KB
test_21.txt AC 267 ms 39780 KB
test_22.txt AC 276 ms 40148 KB
test_23.txt AC 252 ms 40996 KB
test_24.txt AC 272 ms 42136 KB
test_25.txt AC 246 ms 40832 KB
test_26.txt AC 262 ms 43188 KB
test_27.txt AC 258 ms 39660 KB
test_28.txt AC 272 ms 39980 KB
test_29.txt AC 92 ms 23892 KB
test_30.txt AC 103 ms 21844 KB
test_31.txt AC 172 ms 24628 KB
test_32.txt AC 109 ms 23636 KB
test_33.txt AC 214 ms 37844 KB
test_34.txt AC 93 ms 19156 KB
test_35.txt AC 107 ms 20308 KB
test_36.txt AC 273 ms 43196 KB
test_37.txt AC 269 ms 43396 KB
test_38.txt AC 251 ms 38716 KB
test_39.txt AC 254 ms 40920 KB
test_40.txt AC 261 ms 39060 KB
test_41.txt AC 263 ms 40084 KB
test_42.txt AC 292 ms 41692 KB
test_43.txt AC 287 ms 38824 KB