Submission #296160
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main(string[] args) { Solver solver = new Solver(); solver.solve(); return; } } class Solver { public void solve() { int n = ri(); List<Tuple<int, int>> RT = new List<Tuple<int, int>>(); List<Tuple<int, int>> result = new List<Tuple<int, int>>(); for (int i = 0; i < n; i++) { var tmp = ria('-'); RT.Add(new Tuple<int, int>(timeDowner(tmp[0]), timeUpper(tmp[1]))); } if (n == 1) { Console.WriteLine("{0:D4}" + "-" + "{1:D4}", RT[0].Item1, RT[0].Item2); return; } var minOrder = RT.OrderBy(x => x.Item1).ThenByDescending(x => x.Item2).Distinct().ToArray(); int startTime = 0; int endTime = 0; foreach (var obj in minOrder) { if (Math.Max(obj.Item1, endTime) == endTime) { endTime = Math.Max(obj.Item2, endTime); } else { result.Add(new Tuple<int, int>(startTime, endTime)); startTime = obj.Item1; endTime = obj.Item2; } } result.Add(new Tuple<int, int>(startTime, endTime)); //var ar = result.Skip(1).ToArray(); foreach (var obj in result.Where(x => (int)x.Item1 != (int)x.Item2).ToArray()) Console.WriteLine("{0:D4}" + "-" + "{1:D4}",obj.Item1 ,obj.Item2); } private int timeUpper(int num) { int tmp = (num % 10) - 5; if (tmp == 0 || tmp == -5) { return num; } else if (tmp > 0) { num += (5 - tmp); if (num % 100 == 60) { num += (100 - 60); } } else { return num -= tmp; } return num; } private int timeDowner(int num) { int tmp = (num % 10) - 5; if (tmp == -5 || tmp == 0) { return num; } else { if (tmp > 0) return num - tmp; else return num - (5 + tmp); } } static String rs() { return Console.ReadLine(); } static int ri() { return int.Parse(Console.ReadLine()); } static long rl() { return long.Parse(Console.ReadLine()); } static double rd() { return double.Parse(Console.ReadLine()); } static String[] rsa() { return Console.ReadLine().Split(' '); } static int[] ria() { return Array.ConvertAll(Console.ReadLine().Split(' '), e => int.Parse(e)); } static int[] ria(char split) { return Array.ConvertAll(Console.ReadLine().Split(split), e => int.Parse(e)); } static long[] rla() { return Array.ConvertAll(Console.ReadLine().Split(' '), e => long.Parse(e)); } static double[] rda() { return Array.ConvertAll(Console.ReadLine().Split(' '), e => double.Parse(e)); } static double rounding(double target, int rank) { return Math.Round(target, rank, MidpointRounding.AwayFromZero); } }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | yamachuco |
Language | C# (Mono 2.10.8.1) |
Score | 100 |
Code Size | 3295 Byte |
Status | AC |
Exec Time | 287 ms |
Memory | 12624 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 | 176 ms | 8368 KB |
00_sample_02.txt | AC | 129 ms | 6536 KB |
00_sample_03.txt | AC | 174 ms | 8388 KB |
cho_cho_chokudai.txt | AC | 263 ms | 10964 KB |
chokudai_ga_cho.txt | AC | 284 ms | 12536 KB |
test_01.txt | AC | 175 ms | 8440 KB |
test_02.txt | AC | 178 ms | 8440 KB |
test_03.txt | AC | 187 ms | 8500 KB |
test_04.txt | AC | 186 ms | 8476 KB |
test_05.txt | AC | 179 ms | 8432 KB |
test_06.txt | AC | 176 ms | 8504 KB |
test_07.txt | AC | 176 ms | 8376 KB |
test_08.txt | AC | 180 ms | 8432 KB |
test_09.txt | AC | 184 ms | 8492 KB |
test_10.txt | AC | 178 ms | 8512 KB |
test_11.txt | AC | 178 ms | 8464 KB |
test_12.txt | AC | 179 ms | 8468 KB |
test_13.txt | AC | 182 ms | 8444 KB |
test_14.txt | AC | 176 ms | 8528 KB |
test_15.txt | AC | 178 ms | 8488 KB |
test_16.txt | AC | 183 ms | 8452 KB |
test_17.txt | AC | 187 ms | 8568 KB |
test_18.txt | AC | 185 ms | 8472 KB |
test_19.txt | AC | 177 ms | 8456 KB |
test_20.txt | AC | 179 ms | 8492 KB |
test_21.txt | AC | 270 ms | 11480 KB |
test_22.txt | AC | 287 ms | 12624 KB |
test_23.txt | AC | 273 ms | 11644 KB |
test_24.txt | AC | 282 ms | 12532 KB |
test_25.txt | AC | 279 ms | 12204 KB |
test_26.txt | AC | 264 ms | 10988 KB |
test_27.txt | AC | 258 ms | 10928 KB |
test_28.txt | AC | 264 ms | 11016 KB |
test_29.txt | AC | 127 ms | 6556 KB |
test_30.txt | AC | 173 ms | 8452 KB |
test_31.txt | AC | 185 ms | 8944 KB |
test_32.txt | AC | 169 ms | 8316 KB |
test_33.txt | AC | 235 ms | 10320 KB |
test_34.txt | AC | 166 ms | 8296 KB |
test_35.txt | AC | 173 ms | 8552 KB |
test_36.txt | AC | 281 ms | 12396 KB |
test_37.txt | AC | 271 ms | 10996 KB |
test_38.txt | AC | 268 ms | 10924 KB |
test_39.txt | AC | 271 ms | 11040 KB |
test_40.txt | AC | 273 ms | 11048 KB |
test_41.txt | AC | 256 ms | 11008 KB |
test_42.txt | AC | 266 ms | 11008 KB |
test_43.txt | AC | 256 ms | 10964 KB |