Submission #1801261
Source Code Expand
import java.util.*; import java.io.*; public class Main { private static IO io = new IO(); public static void main(String[] args) { int n = io.nextInt(); int m[] = new int[1450]; for (int i = 0; i < n; i++) { String s = io.next(); int f = Integer.parseInt(s.substring(0, 2))*60 + Integer.parseInt(s.substring(2, 4)); int t = Integer.parseInt(s.substring(5, 7))*60 + Integer.parseInt(s.substring(7, 9)); f -= f%5; if (t%5!=0) t += 5 - t%5; m[f]++; m[t]--; } boolean r = false; int f = 0; for (int i = 0; i <= 1440; i++) { m[i+1] += m[i]; // 雨が降っていたがi分に止んだ if (r && m[i]==0) { System.out.printf("%02d%02d-%02d%02d\n", f/60, f%60, i/60, i%60); r = false; } // 雨が降っていなかったがi分に降り出した if (!r && m[i]>0) { f = i; r = true; } } } private static class IO extends PrintWriter { private final InputStream in; private final byte[] buffer = new byte[1024]; private int ptr = 0; private int buflen = 0; IO() { this(System.in); } IO(InputStream source) { super(System.out); this.in = source; } boolean hasNextByte() { if (ptr < buflen) { return true; } else { ptr = 0; try { buflen = in.read(buffer); } catch (IOException e) { e.printStackTrace(); } if (buflen <= 0) { return false; } } return true; } int readByte() { if (hasNextByte()) return buffer[ptr++]; else return -1; } boolean isPrintableChar(int c) { return 33 <= c && c <= 126; } boolean isNewLine(int c) { return c == '\n' || c == '\r'; } void skipUnprintable() { while (hasNextByte() && !isPrintableChar(buffer[ptr])) ptr++; } void skipNewLine() { while (hasNextByte() && isNewLine(buffer[ptr])) ptr++; } boolean hasNext() { skipUnprintable(); return hasNextByte(); } boolean hasNextLine() { skipNewLine(); return hasNextByte(); } String next() { if (!hasNext()) { throw new NoSuchElementException(); } StringBuilder sb = new StringBuilder(); int b = readByte(); while (isPrintableChar(b)) { sb.appendCodePoint(b); b = readByte(); } return sb.toString(); } char[] nextCharArray(int len) { if (!hasNext()) { throw new NoSuchElementException(); } char[] s = new char[len]; int i = 0; int b = readByte(); while (isPrintableChar(b)) { if (i == len) { throw new InputMismatchException(); } s[i++] = (char) b; b = readByte(); } return s; } String nextLine() { if (!hasNextLine()) { throw new NoSuchElementException(); } StringBuilder sb = new StringBuilder(); int b = readByte(); while (!isNewLine(b)) { sb.appendCodePoint(b); b = readByte(); } return sb.toString(); } long nextLong() { if (!hasNext()) { throw new NoSuchElementException(); } long n = 0; boolean minus = false; int b = readByte(); if (b == '-') { minus = true; b = readByte(); } if (b < '0' || '9' < b) { throw new NumberFormatException(); } while (true) { if ('0' <= b && b <= '9') { n *= 10; n += b - '0'; } else if (b == -1 || !isPrintableChar(b)) { return minus ? -n : n; } else { throw new NumberFormatException(); } b = readByte(); } } int nextInt() { long nl = nextLong(); if (nl < Integer.MIN_VALUE || nl > Integer.MAX_VALUE) { throw new NumberFormatException(); } return (int) nl; } char nextChar() { if (!hasNext()) { throw new NoSuchElementException(); } return (char) readByte(); } double nextDouble() { return Double.parseDouble(next()); } int[] arrayInt(int n) { int[] a = new int[n]; for (int i = 0; i < n; i++) a[i] = nextInt(); return a; } long[] arrayLong(int n) { long[] a = new long[n]; for (int i = 0; i < n; i++) a[i] = nextLong(); return a; } double[] arrayDouble(int n) { double[] a = new double[n]; for (int i = 0; i < n; i++) a[i] = nextDouble(); return a; } void arrayInt(int[]... a) { for (int i = 0; i < a[0].length; i++) for (int j = 0; j < a.length; j++) a[j][i] = nextInt(); } int[][] matrixInt(int n, int m) { int[][] a = new int[n][]; for (int i = 0; i < n; i++) a[i] = arrayInt(m); return a; } char[][] charMap(int n, int m) { char[][] a = new char[n][]; for (int i = 0; i < n; i++) a[i] = nextCharArray(m); return a; } public void close() { super.close(); try { in.close(); } catch (IOException ignored) { } } } }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | creep04 |
Language | Java8 (OpenJDK 1.8.0) |
Score | 100 |
Code Size | 4826 Byte |
Status | AC |
Exec Time | 144 ms |
Memory | 33388 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 73 ms | 18132 KB |
00_sample_02.txt | AC | 74 ms | 19412 KB |
00_sample_03.txt | AC | 74 ms | 20308 KB |
cho_cho_chokudai.txt | AC | 132 ms | 31204 KB |
chokudai_ga_cho.txt | AC | 125 ms | 32596 KB |
test_01.txt | AC | 131 ms | 20052 KB |
test_02.txt | AC | 125 ms | 19156 KB |
test_03.txt | AC | 130 ms | 22740 KB |
test_04.txt | AC | 134 ms | 23324 KB |
test_05.txt | AC | 123 ms | 23580 KB |
test_06.txt | AC | 79 ms | 18516 KB |
test_07.txt | AC | 77 ms | 19796 KB |
test_08.txt | AC | 75 ms | 18260 KB |
test_09.txt | AC | 82 ms | 21716 KB |
test_10.txt | AC | 81 ms | 21716 KB |
test_11.txt | AC | 85 ms | 18900 KB |
test_12.txt | AC | 80 ms | 19540 KB |
test_13.txt | AC | 78 ms | 18004 KB |
test_14.txt | AC | 81 ms | 21588 KB |
test_15.txt | AC | 81 ms | 18772 KB |
test_16.txt | AC | 78 ms | 18132 KB |
test_17.txt | AC | 82 ms | 19412 KB |
test_18.txt | AC | 77 ms | 19796 KB |
test_19.txt | AC | 81 ms | 21588 KB |
test_20.txt | AC | 83 ms | 19412 KB |
test_21.txt | AC | 139 ms | 31300 KB |
test_22.txt | AC | 141 ms | 32584 KB |
test_23.txt | AC | 138 ms | 30180 KB |
test_24.txt | AC | 137 ms | 33388 KB |
test_25.txt | AC | 128 ms | 29928 KB |
test_26.txt | AC | 142 ms | 33096 KB |
test_27.txt | AC | 141 ms | 30620 KB |
test_28.txt | AC | 138 ms | 30408 KB |
test_29.txt | AC | 74 ms | 20948 KB |
test_30.txt | AC | 90 ms | 19412 KB |
test_31.txt | AC | 123 ms | 23272 KB |
test_32.txt | AC | 77 ms | 22740 KB |
test_33.txt | AC | 135 ms | 26880 KB |
test_34.txt | AC | 73 ms | 19412 KB |
test_35.txt | AC | 82 ms | 19668 KB |
test_36.txt | AC | 138 ms | 30948 KB |
test_37.txt | AC | 144 ms | 30404 KB |
test_38.txt | AC | 132 ms | 29156 KB |
test_39.txt | AC | 144 ms | 32036 KB |
test_40.txt | AC | 132 ms | 31300 KB |
test_41.txt | AC | 139 ms | 30440 KB |
test_42.txt | AC | 127 ms | 31684 KB |
test_43.txt | AC | 138 ms | 33220 KB |