結果
問題 |
No.9 モンスターのレベル上げ
|
ユーザー |
|
提出日時 | 2021-01-17 10:24:45 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 2,031 bytes |
コンパイル時間 | 2,956 ms |
コンパイル使用メモリ | 109,184 KB |
実行使用メモリ | 47,488 KB |
最終ジャッジ日時 | 2024-11-29 07:27:11 |
合計ジャッジ時間 | 86,666 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 6 TLE * 14 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Linq; namespace No { class MainClass { static int n; static int[][] a; static int[] b; public static void Main(string[] args) { n = int.Parse(Console.ReadLine()); a = new int[2][]; int[] aa = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray(); b = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray(); int max_battle_number = n; for (int start = 0; start < n; start++) { int[] battle_number = new int[n]; int pos = start, count = 0; a[0] = new int[n]; for (int i = 0; i < n; i++) a[0][i] = aa[i]; a[1] = new int[n]; while (true) { int battle_index = checkBattler(); a[0][battle_index] += b[pos] / 2; a[1][battle_index]++; pos++; if (pos >= n) pos = 0; count++; if (count == n) break; } if (max_battle_number > a[1].Max()) max_battle_number = a[1].Max(); } Console.WriteLine(max_battle_number); } private static int checkBattler() { int min_level = a[0].Min(); int max_battle = a[1].Max(); int target_index = 0; foreach(var data in a[0].Select((value, index) => new {Value = value, Index = index})) { if (data.Value == min_level) { if (a[1][data.Index] <= max_battle) { max_battle = a[1][data.Index]; target_index = data.Index; } } } return target_index; } } }