Submission #4075653
Source Code Expand
import java.util.*; import java.io.*; public class Main { private static FastScanner io = new FastScanner(); public static void main(String[] args) { int n = io.nextInt(); int m[] = new int[1500];//60*24+α for (int i = 0; i < n; i++) {//いもす法を使う String s = io.next(); int start = Integer.parseInt(s.substring(0, 2)) * 60 + Integer.parseInt(s.substring(2, 4));//分に変換 int last = Integer.parseInt(s.substring(5, 7)) * 60 + Integer.parseInt(s.substring(7, 9));//同様 start = start - start % 5;//丸める last = last % 5 == 0 ? last : last + 5 - last % 5; m[start]++; m[last]--; } boolean r = false;//rain 降ってない状態スタート int time = 0;//スタート時刻を管理 for (int i = 0; i <= 1440; i++) { m[i + 1] += m[i]; if (r && m[i] == 0) { System.out.println(String.format("%02d", time / 60) + String.format("%02d", time % 60) + "-" + String.format("%02d", i / 60) + String.format("%02d", i % 60)); r = false; } if (!r && m[i] > 0) { time = i; r = true; } } } } class FastScanner extends PrintWriter { private final InputStream in; private final byte[] buffer = new byte[1024]; private int ptr = 0; private int buflen = 0; FastScanner() { this(System.in); } FastScanner(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 | s103ng |
Language | Java8 (OpenJDK 1.8.0) |
Score | 100 |
Code Size | 6123 Byte |
Status | AC |
Exec Time | 157 ms |
Memory | 35396 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 | 76 ms | 19668 KB |
00_sample_02.txt | AC | 76 ms | 18900 KB |
00_sample_03.txt | AC | 75 ms | 19284 KB |
cho_cho_chokudai.txt | AC | 143 ms | 30276 KB |
chokudai_ga_cho.txt | AC | 142 ms | 30020 KB |
test_01.txt | AC | 114 ms | 21844 KB |
test_02.txt | AC | 126 ms | 20308 KB |
test_03.txt | AC | 130 ms | 21460 KB |
test_04.txt | AC | 125 ms | 20436 KB |
test_05.txt | AC | 131 ms | 23452 KB |
test_06.txt | AC | 82 ms | 19924 KB |
test_07.txt | AC | 81 ms | 18516 KB |
test_08.txt | AC | 81 ms | 21332 KB |
test_09.txt | AC | 83 ms | 19156 KB |
test_10.txt | AC | 88 ms | 19156 KB |
test_11.txt | AC | 87 ms | 19284 KB |
test_12.txt | AC | 84 ms | 19284 KB |
test_13.txt | AC | 81 ms | 18900 KB |
test_14.txt | AC | 86 ms | 19540 KB |
test_15.txt | AC | 86 ms | 18772 KB |
test_16.txt | AC | 82 ms | 19412 KB |
test_17.txt | AC | 86 ms | 18772 KB |
test_18.txt | AC | 82 ms | 17748 KB |
test_19.txt | AC | 85 ms | 19284 KB |
test_20.txt | AC | 86 ms | 19156 KB |
test_21.txt | AC | 146 ms | 31336 KB |
test_22.txt | AC | 144 ms | 33352 KB |
test_23.txt | AC | 141 ms | 30676 KB |
test_24.txt | AC | 148 ms | 32740 KB |
test_25.txt | AC | 145 ms | 33092 KB |
test_26.txt | AC | 145 ms | 31080 KB |
test_27.txt | AC | 144 ms | 30148 KB |
test_28.txt | AC | 142 ms | 33124 KB |
test_29.txt | AC | 76 ms | 21204 KB |
test_30.txt | AC | 84 ms | 19796 KB |
test_31.txt | AC | 124 ms | 22088 KB |
test_32.txt | AC | 80 ms | 23380 KB |
test_33.txt | AC | 143 ms | 29256 KB |
test_34.txt | AC | 77 ms | 20948 KB |
test_35.txt | AC | 84 ms | 18644 KB |
test_36.txt | AC | 144 ms | 33124 KB |
test_37.txt | AC | 157 ms | 32996 KB |
test_38.txt | AC | 144 ms | 29668 KB |
test_39.txt | AC | 150 ms | 32864 KB |
test_40.txt | AC | 149 ms | 32708 KB |
test_41.txt | AC | 148 ms | 35396 KB |
test_42.txt | AC | 142 ms | 33124 KB |
test_43.txt | AC | 132 ms | 31292 KB |