結果
問題 | No.90 品物の並び替え |
ユーザー | 抹茶アイス |
提出日時 | 2023-07-28 11:11:43 |
言語 | C# (.NET 8.0.203) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,110 bytes |
コンパイル時間 | 7,350 ms |
コンパイル使用メモリ | 167,748 KB |
実行使用メモリ | 56,452 KB |
最終ジャッジ日時 | 2024-10-05 23:44:23 |
合計ジャッジ時間 | 16,490 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 75 ms
37,372 KB |
testcase_01 | WA | - |
testcase_02 | AC | 74 ms
33,904 KB |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | AC | 70 ms
33,904 KB |
testcase_09 | TLE | - |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (90 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System; using System.Collections.Generic; using System.Linq; namespace yukicoder { public class Program { public static void Main() { var n = Console.ReadLine().Split(' ').Select(value => int.Parse(value)).ToArray(); var S = new int[n[1]][]; for(var i= 0; i < n[1]; i++) { S[i] = Console.ReadLine().Split(' ').Select(value => int.Parse(value)).ToArray(); } var A = AllPermutation(Enumerable.Range(0, n[0]-1).ToArray()); var m = 0; foreach(var aa in A) { var a = String.Join("", aa); var k = 0; foreach(var s in S) { if(a.IndexOf(s[0].ToString())< a.IndexOf(s[1].ToString())) { k += s[2]; } } m = Math.Max(m, k); } Console.WriteLine(m); } static List<T[]> AllPermutation<T>(params T[] array) where T : IComparable { var a = new List<T>(array).ToArray(); var res = new List<T[]>(); res.Add(new List<T>(a).ToArray()); var n = a.Length; var next = true; while (next) { next = false; // 1 int i; for (i = n - 2; i >= 0; i--) { if (a[i].CompareTo(a[i + 1]) < 0) break; } // 2 if (i < 0) break; // 3 var j = n; do { j--; } while (a[i].CompareTo(a[j]) > 0); if (a[i].CompareTo(a[j]) < 0) { // 4 var tmp = a[i]; a[i] = a[j]; a[j] = tmp; Array.Reverse(a, i + 1, n - i - 1); res.Add(new List<T>(a).ToArray()); next = true; } } return res; } } }