Submission #4298491


Source Code Expand

import java.io.InputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main {
	InputStream in = System.in;
	PrintStream out = System.out;

	private int next1(Integer[] a, int idx) {
		if(idx==-1) return -1;		
		for(int i=idx;i<a.length;i++) {
			if(a[i] == 1) {
				return i;		
			}
		}
		return -1;
	}
	
	private int last1(Integer[] a, int idx) {
		if(idx==-1) return -1;
		for(int i=idx;i<a.length;i++) {
			if(a[i] == 0) {
				return i-1;
			}
		}
		return -1;
	}
	
	private List<List<String>> seiri(Integer[] m) {

		List<List<String>> r = new ArrayList<>();

		int i = 0;
		while (true) {
			int lidx = next1(m, i);
			int ridx = last1(m, lidx+1);

			String ls, rs;

			if (lidx == -1) {
				break;
			}

			ls = idxToTime(lidx);

			if (ridx == -1) {
				rs = "2400";
				i = -1;
			} else {
				rs = idxToTime(ridx);
				i = ridx+1;
			}

			r.add(Arrays.asList(ls, rs));

		}

		return r;
	}

	private static int timeToIdx(int t) {
		int h = t/100;
		int m = t%100;
		return h*60 + m;
	}
	private static String idxToTime(int idx) {
		return String.format("%02d%02d", idx/60, (idx%60));
	}
	
	public void _main(String[] args) {
		Scanner sc = new Scanner(in);

		int n = sc.nextInt();

		Integer[] m = new Integer[24*60+1];
		Arrays.fill(m, 0);
		
		for (int i = 0; i < n; i++) {
			String s = sc.next().trim();

			int lhs = Integer.parseInt(s.substring(0, 4));
			int rhs = Integer.parseInt(s.substring(5, 9));

			lhs -= lhs % 5;
			rhs += (5 - (rhs % 5)) % 5;

			Arrays.fill(m, timeToIdx(lhs), timeToIdx(rhs)+1, 1);

		}
//System.err.println(Arrays.asList(m));
		List<List<String>> result = seiri(m);
//System.err.println(result);
		for (List<String> rr : result) {
			out.println(rr.get(0) + "-" + rr.get(1));
		}

		sc.close();
	}

	public static void main(String[] args) {
		new Main()._main(args);
	}

}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User puvon
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 2029 Byte
Status AC
Exec Time 384 ms
Memory 43028 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 48
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 113 ms 22100 KB
00_sample_02.txt AC 92 ms 19796 KB
00_sample_03.txt AC 94 ms 21204 KB
cho_cho_chokudai.txt AC 311 ms 37156 KB
chokudai_ga_cho.txt AC 281 ms 38380 KB
test_01.txt AC 151 ms 22044 KB
test_02.txt AC 136 ms 21916 KB
test_03.txt AC 136 ms 20436 KB
test_04.txt AC 138 ms 22556 KB
test_05.txt AC 140 ms 21784 KB
test_06.txt AC 123 ms 21716 KB
test_07.txt AC 104 ms 21588 KB
test_08.txt AC 101 ms 21332 KB
test_09.txt AC 133 ms 21588 KB
test_10.txt AC 133 ms 20564 KB
test_11.txt AC 113 ms 23252 KB
test_12.txt AC 120 ms 22228 KB
test_13.txt AC 101 ms 23636 KB
test_14.txt AC 124 ms 19540 KB
test_15.txt AC 141 ms 20820 KB
test_16.txt AC 103 ms 21204 KB
test_17.txt AC 109 ms 19412 KB
test_18.txt AC 102 ms 21076 KB
test_19.txt AC 118 ms 22100 KB
test_20.txt AC 119 ms 23508 KB
test_21.txt AC 281 ms 42052 KB
test_22.txt AC 271 ms 42420 KB
test_23.txt AC 279 ms 39856 KB
test_24.txt AC 271 ms 39032 KB
test_25.txt AC 319 ms 38912 KB
test_26.txt AC 269 ms 40788 KB
test_27.txt AC 270 ms 38072 KB
test_28.txt AC 266 ms 43028 KB
test_29.txt AC 91 ms 20692 KB
test_30.txt AC 103 ms 21076 KB
test_31.txt AC 166 ms 25188 KB
test_32.txt AC 98 ms 20692 KB
test_33.txt AC 227 ms 35412 KB
test_34.txt AC 96 ms 19284 KB
test_35.txt AC 107 ms 19540 KB
test_36.txt AC 291 ms 40544 KB
test_37.txt AC 291 ms 39440 KB
test_38.txt AC 263 ms 42644 KB
test_39.txt AC 281 ms 40112 KB
test_40.txt AC 280 ms 39756 KB
test_41.txt AC 295 ms 39728 KB
test_42.txt AC 292 ms 38084 KB
test_43.txt AC 384 ms 38440 KB