Submission #108096
Source Code Expand
import java.util.ArrayList; import java.util.Scanner; public class Main { Scanner sc = new Scanner(System.in); public void run() { int n = sc.nextInt(); calc(n); } public void calc(int n){ ArrayList<int[]> list = new ArrayList<int[]>(); for(int i = 0; i < n; i++){ String line = sc.next(); String[] s = line.split("-"); list.add(new int[]{marume_s(Integer.valueOf(s[0])), marume_e(Integer.valueOf(s[1]))}); } list = sort(list); int[] time = list.get(0); int s = time[0]; int e = time[1]; for(int i = 1; i < n; i++){ int[] timen = list.get(i); int sn = timen[0]; int en = timen[1]; if (e < sn){ System.out.println(print(s) + "-" + print(e)); s = sn; e = en; } else{ if(e < en) e = en; } } System.out.println(print(s) + "-" + print(e)); } public String print(int time){ String s = ""; if(time < 1000){ s = s + "0"; } if(time < 100){ s = s + "0"; } if(time < 10){ s = s + "0"; } s = s + Integer.toString(time); return s; } public int marume_s(int s){ int t = s % 10; if(t == 0 || t == 5) return s; else if(t > 0 && t < 5) return s - t; else return s - t + 5; } public int marume_e(int s){ int t = s % 10; if(t == 0 || t == 5) return s; else if(t > 0 && t < 5) return s - t + 5; else{ s = s - t + 10; if(s % 100 == 60){ s = s - 60; s = s + 100; } if(s >= 2400){ s = 2400; } return s; } } public ArrayList<int[]> sort(ArrayList<int[]> list){ if(list.size() <= 1) return list; else{ int s1 = list.size() / 2; int s2 = list.size() - s1; ArrayList<int[]> a1 = new ArrayList<int[]>(); ArrayList<int[]> a2 = new ArrayList<int[]>(); for(int i = 0; i< s1; i++) a1.add(list.get(i)); for(int i = 0; i < s2; i++) a2.add(list.get(i + s1)); a1 = sort(a1); a2 = sort(a2); return merge(a1, a2); } } public ArrayList<int[]> merge(ArrayList<int[]> a1, ArrayList<int[]> a2){ int i = 0; int j = 0; ArrayList<int[]> list = new ArrayList<int[]>(); while(i < a1.size() || j < a2.size()){ if(j >= a2.size() || (i < a1.size() && (a1.get(i)[0] < a2.get(j)[0] || (a1.get(i)[0] == a2.get(j)[0] && a1.get(i)[1] < a2.get(j)[1])))){ list.add(a1.get(i)); i = i + 1; } else { list.add(a2.get(j)); j = j + 1; } } return list; } public static void main(String[] args) { new Main().run(); } }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | wapiko |
Language | Java (OpenJDK 1.7.0) |
Score | 100 |
Code Size | 2540 Byte |
Status | AC |
Exec Time | 1267 ms |
Memory | 45720 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 | 556 ms | 23352 KB |
00_sample_02.txt | AC | 507 ms | 23348 KB |
00_sample_03.txt | AC | 508 ms | 23344 KB |
cho_cho_chokudai.txt | AC | 1234 ms | 44832 KB |
chokudai_ga_cho.txt | AC | 1197 ms | 45396 KB |
test_01.txt | AC | 552 ms | 23600 KB |
test_02.txt | AC | 554 ms | 23728 KB |
test_03.txt | AC | 543 ms | 23728 KB |
test_04.txt | AC | 527 ms | 23604 KB |
test_05.txt | AC | 559 ms | 23600 KB |
test_06.txt | AC | 544 ms | 23728 KB |
test_07.txt | AC | 531 ms | 23600 KB |
test_08.txt | AC | 550 ms | 23340 KB |
test_09.txt | AC | 571 ms | 25312 KB |
test_10.txt | AC | 580 ms | 25464 KB |
test_11.txt | AC | 582 ms | 24496 KB |
test_12.txt | AC | 572 ms | 23992 KB |
test_13.txt | AC | 550 ms | 23640 KB |
test_14.txt | AC | 610 ms | 25160 KB |
test_15.txt | AC | 603 ms | 26188 KB |
test_16.txt | AC | 539 ms | 23696 KB |
test_17.txt | AC | 591 ms | 25120 KB |
test_18.txt | AC | 544 ms | 23600 KB |
test_19.txt | AC | 550 ms | 23984 KB |
test_20.txt | AC | 549 ms | 24368 KB |
test_21.txt | AC | 1161 ms | 44200 KB |
test_22.txt | AC | 1213 ms | 44324 KB |
test_23.txt | AC | 1213 ms | 44696 KB |
test_24.txt | AC | 1267 ms | 45720 KB |
test_25.txt | AC | 1249 ms | 45260 KB |
test_26.txt | AC | 1105 ms | 41320 KB |
test_27.txt | AC | 1074 ms | 40656 KB |
test_28.txt | AC | 1033 ms | 40864 KB |
test_29.txt | AC | 518 ms | 23348 KB |
test_30.txt | AC | 525 ms | 23340 KB |
test_31.txt | AC | 771 ms | 34744 KB |
test_32.txt | AC | 516 ms | 23336 KB |
test_33.txt | AC | 1129 ms | 43856 KB |
test_34.txt | AC | 506 ms | 23348 KB |
test_35.txt | AC | 539 ms | 23864 KB |
test_36.txt | AC | 1124 ms | 45388 KB |
test_37.txt | AC | 1207 ms | 43772 KB |
test_38.txt | AC | 1257 ms | 44704 KB |
test_39.txt | AC | 1212 ms | 44380 KB |
test_40.txt | AC | 1173 ms | 43492 KB |
test_41.txt | AC | 1053 ms | 41640 KB |
test_42.txt | AC | 1158 ms | 44168 KB |
test_43.txt | AC | 1111 ms | 43912 KB |