Submission #108507
Source Code Expand
import java.util.ArrayList; import java.util.PriorityQueue; import java.util.Scanner; public class Main { class Rain implements Comparable<Rain>{ int start; int finish; Rain(int start, int finish) { this.start = makeStart(start); this.finish = makeFinish(finish); } int makeStart (int start) { int num = start % 10; if (num >= 5) return start/10*10+5; else return start/10*10; } int makeFinish(int finish) { int num = finish % 10; if(num == 0) return finish; else if (num <= 5) return finish/10*10 +5; else { int n = (finish/10+1) % 10; if(n == 6) { return (finish/100+1)*100; } else return (finish/10+1)*10; } } @Override public int compareTo(Rain o) { return this.start - o.start != 0 ? this.start - o.start : this.finish - o.finish; } public String toString() { return makeStr(start) + "-" + makeStr(finish); } public String makeStr(int start) { String startStr = ""+start; if (start / 1000 >= 1) { } else if(start / 100 >= 1) { startStr = "0" + startStr; } else if(start / 10 >= 1) { startStr = "00" + startStr; } else startStr = "000" + startStr; return startStr; } } public void run() { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int N = sc.nextInt(); PriorityQueue<Rain> queue = new PriorityQueue<Main.Rain>(); sc.nextLine(); for (int i = 0; i < N; i++) { String[] line = sc.nextLine().split("-"); queue.add(new Rain(Integer.valueOf(line[0]), Integer.valueOf(line[1]))); } ArrayList<Rain>results = appendRains(queue); for (Rain rain : results) { System.out.println(rain); } } } public ArrayList<Rain> appendRains (PriorityQueue<Rain> queue) { ArrayList<Rain> results = new ArrayList<Main.Rain>(); while(queue.size() >= 2) { Rain r1 = queue.poll(); Rain r2 = queue.poll(); if(r1.finish >= r2.start) { queue.add(new Rain(r1.start, Math.max(r1.finish, r2.finish))); } else { results.add(r1); queue.add(r2); } } while(!queue.isEmpty()) { results.add(queue.poll()); } return results; } public static void main(String[] args) { new Main().run(); } }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | hozum |
Language | Java (OpenJDK 1.7.0) |
Score | 100 |
Code Size | 3047 Byte |
Status | AC |
Exec Time | 1159 ms |
Memory | 38360 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 | 492 ms | 23732 KB |
00_sample_02.txt | AC | 490 ms | 23596 KB |
00_sample_03.txt | AC | 496 ms | 23700 KB |
cho_cho_chokudai.txt | AC | 1020 ms | 37956 KB |
chokudai_ga_cho.txt | AC | 1052 ms | 38020 KB |
test_01.txt | AC | 516 ms | 24236 KB |
test_02.txt | AC | 500 ms | 24240 KB |
test_03.txt | AC | 509 ms | 24240 KB |
test_04.txt | AC | 508 ms | 24108 KB |
test_05.txt | AC | 511 ms | 24112 KB |
test_06.txt | AC | 511 ms | 24504 KB |
test_07.txt | AC | 502 ms | 24108 KB |
test_08.txt | AC | 495 ms | 23980 KB |
test_09.txt | AC | 551 ms | 25788 KB |
test_10.txt | AC | 545 ms | 26420 KB |
test_11.txt | AC | 542 ms | 25520 KB |
test_12.txt | AC | 527 ms | 25144 KB |
test_13.txt | AC | 516 ms | 24252 KB |
test_14.txt | AC | 554 ms | 25644 KB |
test_15.txt | AC | 569 ms | 26032 KB |
test_16.txt | AC | 522 ms | 24244 KB |
test_17.txt | AC | 537 ms | 25648 KB |
test_18.txt | AC | 507 ms | 24500 KB |
test_19.txt | AC | 531 ms | 25016 KB |
test_20.txt | AC | 539 ms | 25524 KB |
test_21.txt | AC | 1027 ms | 38076 KB |
test_22.txt | AC | 1049 ms | 38080 KB |
test_23.txt | AC | 1063 ms | 37548 KB |
test_24.txt | AC | 1030 ms | 37652 KB |
test_25.txt | AC | 1039 ms | 37744 KB |
test_26.txt | AC | 1080 ms | 37480 KB |
test_27.txt | AC | 1054 ms | 37936 KB |
test_28.txt | AC | 1052 ms | 38360 KB |
test_29.txt | AC | 498 ms | 23728 KB |
test_30.txt | AC | 489 ms | 23716 KB |
test_31.txt | AC | 734 ms | 33328 KB |
test_32.txt | AC | 495 ms | 23596 KB |
test_33.txt | AC | 1159 ms | 38072 KB |
test_34.txt | AC | 473 ms | 23604 KB |
test_35.txt | AC | 510 ms | 24632 KB |
test_36.txt | AC | 1040 ms | 38132 KB |
test_37.txt | AC | 1037 ms | 37780 KB |
test_38.txt | AC | 1050 ms | 37960 KB |
test_39.txt | AC | 1028 ms | 37336 KB |
test_40.txt | AC | 1037 ms | 37872 KB |
test_41.txt | AC | 1095 ms | 37796 KB |
test_42.txt | AC | 1064 ms | 38016 KB |
test_43.txt | AC | 1043 ms | 37604 KB |