結果
| 問題 | No.90 品物の並び替え |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-01-27 11:59:05 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
AC
|
| 実行時間 | 131 ms / 5,000 ms |
| コード長 | 513 bytes |
| 記録 | |
| コンパイル時間 | 966 ms |
| コンパイル使用メモリ | 111,088 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-12 06:38:01 |
| 合計ジャッジ時間 | 1,791 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 9 |
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string;
void main()
{
auto rd1 = readln.split.to!(size_t[]), n = rd1[0], m = rd1[1];
auto score = new int[][](n, n);
foreach (_; m.iota) {
auto rd2 = readln.split.to!(int[]);
score[rd2[0]][rd2[1]] = rd2[2];
}
auto calcScore(Range)(Range ai) {
auto r = 0;
foreach (i, a; ai.enumerate)
foreach (b; ai[i+1..$])
r += score[a][b];
return r;
}
writeln(n.iota.permutations.map!(a => calcScore(a)).fold!max);
}