Submission #112740
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main(string[] args) { List<RainningTimes> rainningTimesList = new List<RainningTimes>(); int N = int.Parse(Console.ReadLine()); for (int i = 0; i < N; i++) { var array = Console.ReadLine().Split('-').Select(int.Parse).ToArray(); int s = array.ElementAtOrDefault(0); int e = array.ElementAtOrDefault(1); int s1 = int.Parse(s.ToString()[s.ToString().Length - 1].ToString()); if (s1 == 0) { } else if (s1 < 5) s -= s1; else if (s1 > 5) s -= s1 - 5; int e1 = int.Parse(e.ToString()[e.ToString().Length - 1].ToString()); if (e1 == 0) { } else if (e1 < 5) e += 5 - e1; else if (e1 > 5) e += 10 - e1; int length = rainningTimesList.Count; for (int j = 0; j < length; j++) { if (JudgeBetween(s, rainningTimesList[j])) { if (JudgeBetween(e, rainningTimesList[j])) { break; } else { rainningTimesList[j].End = e; break; } } else { if (JudgeBetween(e, rainningTimesList[j])) { rainningTimesList[j].Start = s; break; } else if (rainningTimesList[j].Start > s && rainningTimesList[j].End < e) { rainningTimesList[j].Start = s; rainningTimesList[j].End = e; break; } else { rainningTimesList.Add(new RainningTimes(s, e)); break; } } } if (rainningTimesList.Count == 0) rainningTimesList.Add(new RainningTimes(s, e)); } for (int i = rainningTimesList.Count - 1; i >= 0; i--) { int s = rainningTimesList[i].Start; int e = rainningTimesList[i].End; for (int j = i - 1; j >= 0; j--) { if (JudgeBetween(s, rainningTimesList[j])) { if (JudgeBetween(e, rainningTimesList[j])) break; else { rainningTimesList[j].End = e; rainningTimesList.RemoveAt(i); break; } } else { if (JudgeBetween(e, rainningTimesList[j])) { rainningTimesList[j].Start = s; rainningTimesList.RemoveAt(i); break; } else if (rainningTimesList[j].Start > s && rainningTimesList[j].End < e) { rainningTimesList[j].Start = s; rainningTimesList[j].End = e; rainningTimesList.RemoveAt(i); break; } } } } for (int i = 0; i < rainningTimesList.Count; i++) Console.WriteLine(rainningTimesList[i].Start.ToString().PadLeft(4, '0') + "-" + rainningTimesList[i].End.ToString().PadLeft(4, '0')); } private static bool JudgeBetween(int time , RainningTimes rainningTimes) { if (rainningTimes.Start <= time && rainningTimes.End >= time) return true; return false; } } class RainningTimes { public int Start, End; public RainningTimes(int start, int end) { Start = start; End = end; } }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | pattyo |
Language | C# (Mono 2.10.8.1) |
Score | 0 |
Code Size | 4649 Byte |
Status | WA |
Exec Time | 357 ms |
Memory | 8100 KB |
Judge Result
Set Name | all | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 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 | 116 ms | 6260 KB |
00_sample_02.txt | AC | 115 ms | 6256 KB |
00_sample_03.txt | AC | 119 ms | 6268 KB |
cho_cho_chokudai.txt | WA | 242 ms | 6568 KB |
chokudai_ga_cho.txt | AC | 240 ms | 6524 KB |
test_01.txt | AC | 122 ms | 6392 KB |
test_02.txt | WA | 122 ms | 6404 KB |
test_03.txt | WA | 122 ms | 6400 KB |
test_04.txt | AC | 123 ms | 6404 KB |
test_05.txt | WA | 122 ms | 6404 KB |
test_06.txt | AC | 125 ms | 6512 KB |
test_07.txt | WA | 118 ms | 6384 KB |
test_08.txt | AC | 120 ms | 6392 KB |
test_09.txt | WA | 126 ms | 6584 KB |
test_10.txt | AC | 122 ms | 6536 KB |
test_11.txt | WA | 130 ms | 6516 KB |
test_12.txt | AC | 123 ms | 6540 KB |
test_13.txt | WA | 123 ms | 6404 KB |
test_14.txt | WA | 123 ms | 6532 KB |
test_15.txt | AC | 122 ms | 6528 KB |
test_16.txt | WA | 118 ms | 6388 KB |
test_17.txt | WA | 122 ms | 6504 KB |
test_18.txt | WA | 118 ms | 6524 KB |
test_19.txt | WA | 124 ms | 6532 KB |
test_20.txt | WA | 126 ms | 6580 KB |
test_21.txt | WA | 225 ms | 6528 KB |
test_22.txt | WA | 235 ms | 6524 KB |
test_23.txt | WA | 237 ms | 6536 KB |
test_24.txt | WA | 238 ms | 6716 KB |
test_25.txt | WA | 238 ms | 6532 KB |
test_26.txt | WA | 267 ms | 7992 KB |
test_27.txt | AC | 236 ms | 6516 KB |
test_28.txt | WA | 357 ms | 8100 KB |
test_29.txt | AC | 115 ms | 6268 KB |
test_30.txt | WA | 117 ms | 6392 KB |
test_31.txt | WA | 147 ms | 6772 KB |
test_32.txt | WA | 115 ms | 6384 KB |
test_33.txt | WA | 228 ms | 7668 KB |
test_34.txt | WA | 119 ms | 6264 KB |
test_35.txt | WA | 123 ms | 6512 KB |
test_36.txt | AC | 240 ms | 6524 KB |
test_37.txt | WA | 336 ms | 7940 KB |
test_38.txt | WA | 256 ms | 7940 KB |
test_39.txt | WA | 258 ms | 7800 KB |
test_40.txt | WA | 330 ms | 7940 KB |
test_41.txt | AC | 235 ms | 6532 KB |
test_42.txt | AC | 238 ms | 6520 KB |
test_43.txt | AC | 233 ms | 6532 KB |