Submission #1335830


Source Code Expand

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] rain = new int[60 * 24];
    for(int i = 0; i < N; i++) {
      String s = sc.next();
      String[] r = s.split("-");
      String starth = r[0].substring(0, 2);
      String startm = r[0].substring(2, 4);
      String endh = r[1].substring(0, 2);
      String endm = r[1].substring(2, 4);
      int start = 60 * Integer.parseInt(starth) + Integer.parseInt(startm);
      int end = 60 * Integer.parseInt(endh) + Integer.parseInt(endm);
      for(int j = 0; j < 5; j++) {
        if((start - j) % 5 == 0) {
          rain[start - j]++;
          break;
        }
      }
      for(int j = 0; j < 5; j++) {
        if((end + j) % 5 == 0) {
          if(end + j < 60 * 24) rain[end + j]--;
          break;
        }
      }
    }  
    ArrayList<Integer> startList = new ArrayList<Integer>();
    ArrayList<Integer> endList = new ArrayList<Integer>();
    if(rain[0] > 0) startList.add(0);
    for(int i = 1; i < 60 * 24; i++) {
      rain[i] += rain[i - 1];
      if(rain[i - 1] == 0 && rain[i] > 0) startList.add(i);
    }
    for(int i = 0; i < 60 * 24 - 1; i++) {
      if(rain[i] > 0 && rain[i + 1] == 0) endList.add(i + 1);
    }
    if(rain[60 * 24 - 1] > 0) endList.add(60 * 24);
    for(int i = 0; i < startList.size(); i++) {
      int h = startList.get(i) / 60;
      int m = startList.get(i) - 60 * h;
      String hstr = String.valueOf(h);
      if(h < 10) hstr = "0" + hstr;
      String mstr = String.valueOf(m);
      if(m < 10) mstr = "0" + mstr;
      String startstr = hstr + mstr;
      
      h = endList.get(i) / 60;
      m = endList.get(i) - 60 * h;
      hstr = String.valueOf(h);
      if(h < 10) hstr = "0" + hstr;
      mstr = String.valueOf(m);
      if(m < 10) mstr = "0" + mstr;
      String endstr = hstr + mstr;
      System.out.println(startstr + "-" + endstr);
    }
  }
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User takeya
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 2026 Byte
Status AC
Exec Time 338 ms
Memory 44840 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 119 ms 21716 KB
00_sample_02.txt AC 94 ms 18644 KB
00_sample_03.txt AC 95 ms 20680 KB
cho_cho_chokudai.txt AC 338 ms 41544 KB
chokudai_ga_cho.txt AC 326 ms 42496 KB
test_01.txt AC 113 ms 19156 KB
test_02.txt AC 113 ms 22228 KB
test_03.txt AC 111 ms 19924 KB
test_04.txt AC 123 ms 21844 KB
test_05.txt AC 111 ms 21588 KB
test_06.txt AC 112 ms 17876 KB
test_07.txt AC 106 ms 20948 KB
test_08.txt AC 106 ms 21844 KB
test_09.txt AC 130 ms 20948 KB
test_10.txt AC 131 ms 19156 KB
test_11.txt AC 132 ms 20308 KB
test_12.txt AC 113 ms 19284 KB
test_13.txt AC 108 ms 19156 KB
test_14.txt AC 119 ms 20180 KB
test_15.txt AC 140 ms 22612 KB
test_16.txt AC 105 ms 20052 KB
test_17.txt AC 122 ms 22100 KB
test_18.txt AC 108 ms 18896 KB
test_19.txt AC 118 ms 21332 KB
test_20.txt AC 129 ms 22228 KB
test_21.txt AC 293 ms 41376 KB
test_22.txt AC 338 ms 44840 KB
test_23.txt AC 332 ms 43096 KB
test_24.txt AC 327 ms 42608 KB
test_25.txt AC 327 ms 41500 KB
test_26.txt AC 301 ms 41836 KB
test_27.txt AC 328 ms 43540 KB
test_28.txt AC 319 ms 42556 KB
test_29.txt AC 96 ms 19412 KB
test_30.txt AC 103 ms 21332 KB
test_31.txt AC 175 ms 25808 KB
test_32.txt AC 97 ms 21844 KB
test_33.txt AC 271 ms 41888 KB
test_34.txt AC 97 ms 21844 KB
test_35.txt AC 121 ms 22100 KB
test_36.txt AC 337 ms 41152 KB
test_37.txt AC 328 ms 42540 KB
test_38.txt AC 320 ms 43044 KB
test_39.txt AC 300 ms 42708 KB
test_40.txt AC 316 ms 41684 KB
test_41.txt AC 329 ms 39876 KB
test_42.txt AC 306 ms 38220 KB
test_43.txt AC 329 ms 43580 KB