AtCoder Beginner Contest 001

Submission #108517

Source codeソースコード

import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.ArrayList;

public class Main {
	
	public static class Time implements Comparable<Time>{
		int start;
		int end;
		
		public Time(int start, int end) {
			super();
			this.start = (start / 100) * 60 + (start % 100);
			this.end   = (end / 100)   * 60 + (end % 100);
			
			this.start = this.start / 5 * 5;
			this.end = this.end % 5 == 0 ? this.end / 5 * 5: (this.end / 5 + 1) * 5;
		}

		@Override
		public int compareTo(Time o) {
			if(this.start < o.start){
				return -1;
			}else if(this.start > o.start){
				return 1;
			}else if(this.end < o.end){
				return -1;
			}else if(this.end > o.end){
				return 1;
			}else{
				return 0;
			}
		}
		
		@Override
		public String toString(){
			String start_s_h = (start / 60) + "";
			String start_s_m = (start % 60) + "";
			String start_e_h = (end / 60) + "";
			String start_e_m = (end % 60) + "";
			
			return ((start_s_h.length() <= 1 ? "0" + start_s_h : start_s_h) + 
					(start_s_m.length() <= 1 ? "0" + start_s_m : start_s_m) + "-" +
					(start_e_h.length() <= 1 ? "0" + start_e_h : start_e_h) + 
					(start_e_m.length() <= 1 ? "0" + start_e_m : start_e_m));
		}
	}
	
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		
		final int N = sc.nextInt();
		
		PriorityQueue<Time> queue = new PriorityQueue<Main.Time>();
		
		for(int i = 0; i < N; i++){
			String[] inputs = sc.next().split("-");
			queue.add(new Time(Integer.parseInt(inputs[0]), Integer.parseInt(inputs[1])));
		}
		
		//System.out.println(queue);
		
		LinkedList<Time> dic = new LinkedList<Main.Time>();
		
		Time tmp = null;
		while(!queue.isEmpty()){
			Time time = queue.poll();
			
			//System.out.println(time);
			
			if(tmp == null){
				tmp = time;
				continue;
			}
			
			
			if(tmp.end >= time.start){
				if(tmp.end < time.end){
					tmp.end = time.end;
				}
				continue;
			}else{
				dic.add(tmp);
				tmp = time;
			}
		}
		
		if(tmp != null){
			dic.add(tmp);
		}
		
		for(Time t : dic){
			System.out.println(t);
		}
		
		
	}
}

Submission

Task問題 D - 感雨時刻の整理
User nameユーザ名 もにょーん
Created time投稿日時
Language言語 Java (OpenJDK 1.7.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 2290 Byte
File nameファイル名
Exec time実行時間 1031 ms
Memory usageメモリ使用量 41172 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 473 ms 23384 KB
00_sample_02.txt AC 455 ms 23524 KB
00_sample_03.txt AC 462 ms 23516 KB
cho_cho_chokudai.txt AC 962 ms 40376 KB
chokudai_ga_cho.txt AC 951 ms 40576 KB
test_01.txt AC 471 ms 23776 KB
test_02.txt AC 477 ms 23776 KB
test_03.txt AC 488 ms 23776 KB
test_04.txt AC 511 ms 23780 KB
test_05.txt AC 510 ms 23748 KB
test_06.txt AC 489 ms 24296 KB
test_07.txt AC 476 ms 23696 KB
test_08.txt AC 481 ms 23652 KB
test_09.txt AC 680 ms 24412 KB
test_10.txt AC 554 ms 24804 KB
test_11.txt AC 540 ms 24640 KB
test_12.txt AC 508 ms 24408 KB
test_13.txt AC 486 ms 23780 KB
test_14.txt AC 529 ms 24676 KB
test_15.txt AC 536 ms 24928 KB
test_16.txt AC 503 ms 23648 KB
test_17.txt AC 548 ms 24800 KB
test_18.txt AC 529 ms 23780 KB
test_19.txt AC 537 ms 24032 KB
test_20.txt AC 537 ms 24672 KB
test_21.txt AC 1031 ms 40564 KB
test_22.txt AC 970 ms 40228 KB
test_23.txt AC 1007 ms 40340 KB
test_24.txt AC 987 ms 39284 KB
test_25.txt AC 998 ms 39528 KB
test_26.txt AC 982 ms 40944 KB
test_27.txt AC 930 ms 39880 KB
test_28.txt AC 997 ms 40248 KB
test_29.txt AC 468 ms 23388 KB
test_30.txt AC 489 ms 23520 KB
test_31.txt AC 689 ms 28660 KB
test_32.txt AC 474 ms 23520 KB
test_33.txt AC 964 ms 39264 KB
test_34.txt AC 468 ms 23516 KB
test_35.txt AC 507 ms 24020 KB
test_36.txt AC 981 ms 40744 KB
test_37.txt AC 941 ms 41140 KB
test_38.txt AC 950 ms 39784 KB
test_39.txt AC 977 ms 41172 KB
test_40.txt AC 996 ms 40520 KB
test_41.txt AC 965 ms 40436 KB
test_42.txt AC 986 ms 40308 KB
test_43.txt AC 974 ms 40224 KB