結果
| 問題 |
No.9 モンスターのレベル上げ
|
| ユーザー |
|
| 提出日時 | 2021-01-17 09:41:07 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,912 bytes |
| コンパイル時間 | 4,516 ms |
| コンパイル使用メモリ | 113,676 KB |
| 実行使用メモリ | 63,156 KB |
| 最終ジャッジ日時 | 2024-11-29 06:32:28 |
| 合計ジャッジ時間 | 88,934 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 WA * 3 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][];
a[0] = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
b = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
int max_battle_number = 0;
for (int start = 0; start < n; start++)
{
int[] battle_number = new int[n];
int pos = start, count = 0;
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;
}
}
}