Submission #1143105


Source Code Expand

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

public class Main{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int[][] memos = new int[n][2];

        for (int i = 0; i < n; i++) {
            String[] memo = sc.next().split("-");
            memos[i][0] = getRoundStart(Integer.valueOf(memo[0]));
            memos[i][1] = getRoundEnd(Integer.valueOf(memo[1]));
        }

        Comp comp = new Comp();
        Arrays.sort(memos, comp);

        List<int[]> unitedMemos = new ArrayList<>();

        int preStart = memos[0][0];
        int preEnd = memos[0][1];

        for (int i = 1; i < n; i++) {
            if (memos[i][0] >= preStart && memos[i][0] <= preEnd) {
                if (memos[i][1] > preEnd) {
                    preEnd = memos[i][1];
                }
            } else {
                unitedMemos.add(new int[] { preStart, preEnd });
                preStart = memos[i][0];
                preEnd = memos[i][1];
            }
        }

        unitedMemos.add(new int[] { preStart, preEnd });

        for (int[] rains : unitedMemos) {
            String start = String.format("%04d", rains[0]);
            String end = String.format("%04d", rains[1]);
            System.out.println(start + "-" + end);
        }

        sc.close();
    }

    private static int getRoundStart(int val) {
        int result = 0;

        if (val % 5 == 0) {
            result = val;
        } else {
            result = val - (val % 5);
        }

        return result;
    }

    private static int getRoundEnd(int val) {
        int result = 0;

        if (val % 5 == 0) {
            result = val;
        } else {
            result = val + (5 - (val % 5));

            if (result % 100 == 60) {
                result -= 60;
                result += 100;
            }
        }

        return result;
    }

}

class Comp implements Comparator<Object> {
    public int compare(Object a, Object b) {
        int[] intA = (int[]) a;
        int[] intB = (int[]) b;

        return (intA[0] - intB[0]);
    }
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User l2991129
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 2296 Byte
Status AC
Exec Time 374 ms
Memory 48728 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 97 ms 20692 KB
00_sample_02.txt AC 96 ms 19668 KB
00_sample_03.txt AC 97 ms 23636 KB
cho_cho_chokudai.txt AC 313 ms 43584 KB
chokudai_ga_cho.txt AC 319 ms 47240 KB
test_01.txt AC 135 ms 20180 KB
test_02.txt AC 135 ms 21076 KB
test_03.txt AC 135 ms 20308 KB
test_04.txt AC 125 ms 21460 KB
test_05.txt AC 138 ms 20052 KB
test_06.txt AC 112 ms 20692 KB
test_07.txt AC 109 ms 23764 KB
test_08.txt AC 106 ms 21844 KB
test_09.txt AC 126 ms 20052 KB
test_10.txt AC 134 ms 19668 KB
test_11.txt AC 121 ms 22228 KB
test_12.txt AC 115 ms 19412 KB
test_13.txt AC 108 ms 19156 KB
test_14.txt AC 121 ms 22356 KB
test_15.txt AC 132 ms 20436 KB
test_16.txt AC 108 ms 18900 KB
test_17.txt AC 143 ms 20308 KB
test_18.txt AC 111 ms 19796 KB
test_19.txt AC 130 ms 19924 KB
test_20.txt AC 122 ms 22356 KB
test_21.txt AC 361 ms 47396 KB
test_22.txt AC 363 ms 43984 KB
test_23.txt AC 374 ms 46104 KB
test_24.txt AC 341 ms 43392 KB
test_25.txt AC 345 ms 44660 KB
test_26.txt AC 332 ms 46932 KB
test_27.txt AC 330 ms 43652 KB
test_28.txt AC 368 ms 44724 KB
test_29.txt AC 95 ms 22996 KB
test_30.txt AC 107 ms 21972 KB
test_31.txt AC 188 ms 28040 KB
test_32.txt AC 101 ms 19796 KB
test_33.txt AC 296 ms 38412 KB
test_34.txt AC 97 ms 21716 KB
test_35.txt AC 123 ms 23892 KB
test_36.txt AC 337 ms 43184 KB
test_37.txt AC 367 ms 48728 KB
test_38.txt AC 347 ms 43420 KB
test_39.txt AC 368 ms 45764 KB
test_40.txt AC 342 ms 43624 KB
test_41.txt AC 312 ms 46932 KB
test_42.txt AC 365 ms 45580 KB
test_43.txt AC 343 ms 47004 KB