結果
問題 | No.9 モンスターのレベル上げ |
ユーザー | バカらっく |
提出日時 | 2017-06-26 21:38:22 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 3,329 bytes |
コンパイル時間 | 1,224 ms |
コンパイル使用メモリ | 114,472 KB |
実行使用メモリ | 50,608 KB |
最終ジャッジ日時 | 2024-06-24 00:12:05 |
合計ジャッジ時間 | 28,199 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 41 ms
27,124 KB |
testcase_01 | AC | 42 ms
26,876 KB |
testcase_02 | AC | 2,641 ms
49,308 KB |
testcase_03 | AC | 1,526 ms
46,880 KB |
testcase_04 | AC | 1,100 ms
39,296 KB |
testcase_05 | AC | 763 ms
36,308 KB |
testcase_06 | AC | 272 ms
31,948 KB |
testcase_07 | AC | 45 ms
26,996 KB |
testcase_08 | AC | 322 ms
30,288 KB |
testcase_09 | AC | 2,357 ms
49,184 KB |
testcase_10 | AC | 42 ms
27,236 KB |
testcase_11 | AC | 2,846 ms
47,024 KB |
testcase_12 | TLE | - |
testcase_13 | AC | 1,241 ms
42,268 KB |
testcase_14 | AC | 2,340 ms
49,452 KB |
testcase_15 | AC | 2,390 ms
49,448 KB |
testcase_16 | AC | 84 ms
33,608 KB |
testcase_17 | AC | 1,633 ms
45,712 KB |
testcase_18 | AC | 1,291 ms
44,444 KB |
testcase_19 | AC | 73 ms
31,560 KB |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.IO; using System.Linq; using System.Collections.Generic; using System.Text; public class Program { public void Proc() { int monsterCount = int.Parse(Reader.ReadLine()); int[] mikataArr = Reader.ReadLine().Split(' ').Select(a => int.Parse(a)).ToArray(); int[] tekiArr = Reader.ReadLine().Split(' ').Select(a => int.Parse(a)).ToArray(); int max = int.MaxValue; for (int i = 0; i < monsterCount; i++) { SortedDictionary<Monster, bool> mikata = new SortedDictionary<Monster, bool>(); mikataArr.ToList().ForEach(a=>mikata.Add(new Monster(mikata.Count, a), true)); int subMax = 0; bool mustBreak = false; for (int j = 0; j < monsterCount; j++) { Monster m = mikata.First().Key; mikata.Remove(m); m.Level += tekiArr[(i+j)%monsterCount] / 2; m.BattleCount++; subMax = Math.Max(subMax, m.BattleCount); mikata.Add(m, true); if(subMax >= max) { mustBreak = true; break; } } if(mustBreak) { continue; } max = Math.Min(max, subMax); } Console.WriteLine(max); } private class Monster : IComparable, IEquatable<Monster> { public int Level; public int BattleCount; public int ID; public int CompareTo(object obj) { Monster mns = (Monster)obj; if (this.Level == mns.Level) { if(this.BattleCount == mns.BattleCount) { return this.ID.CompareTo(mns.ID); } return this.BattleCount.CompareTo(mns.BattleCount); } return this.Level.CompareTo(mns.Level); } public Monster(int id, int level) { this.Level = level; this.BattleCount = 0; this.ID = id; } public bool Equals(Monster obj) { return obj.ID == this.ID; } } public class Reader { private static StringReader sr; public static bool IsDebug = false; public static string ReadLine() { if (IsDebug) { if (sr == null) { sr = new StringReader(InputText.Trim()); } return sr.ReadLine(); } else { return Console.ReadLine(); } } private static string InputText = @" 69 3253 3369 660 1949 4617 3586 3561 3382 7928 4932 2034 599 7713 1984 4040 5308 7972 6853 6802 5811 2226 4349 1997 4202 195 6608 1785 823 1084 2947 6118 4671 5526 4139 7016 3932 6534 1867 935 4629 4405 67 4014 1322 3329 4949 4990 2086 4517 897 6712 6512 4017 2083 7666 2190 4897 6482 7590 2197 7370 2163 6238 5317 6435 5041 5513 2275 4978 3003 1579 6252 1970 1595 2763 3275 5453 2496 6143 4733 589 1886 6384 3295 1223 3714 2426 5626 149 1848 3978 6608 6489 2454 106 2197 2982 4055 1239 7266 1774 329 6684 1063 7593 5659 7697 6475 815 1606 7363 35 5780 3853 3072 7709 7822 1902 7030 6723 5812 7640 3297 6286 3634 123 7996 7811 5854 4299 885 310 1943 3064 7146 897 3778 6973 "; } public static void Main(string[] args) { #if DEBUG Reader.IsDebug = true; #endif Program prg = new Program(); prg.Proc(); } }