AtCoder Beginner Contest 001

Submission #1335830

Source codeソースコード

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

Task問題 D - 感雨時刻の整理
User nameユーザ名 takeya_okino
Created time投稿日時
Language言語 Java8 (OpenJDK 1.8.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 2026 Byte
File nameファイル名
Exec time実行時間 338 ms
Memory usageメモリ使用量 44840 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 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