結果
| 問題 |
No.1360 [Zelkova 4th Tune] 協和音
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-02-14 15:14:02 |
| 言語 | Kuin (KuinC++ v.2021.9.17) |
| 結果 |
AC
|
| 実行時間 | 209 ms / 2,000 ms |
| コード長 | 909 bytes |
| コンパイル時間 | 2,204 ms |
| コンパイル使用メモリ | 147,612 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-16 11:22:55 |
| 合計ジャッジ時間 | 8,685 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 47 |
ソースコード
func main()
var n: int :: cui@inputInt()
var a: []int :: #[n]int
for i(0, n - 1)
do a[i] :: cui@inputInt()
end for
var b: [][]int :: #[n, n]int
for i(0, n - 1)
for j(0, n - 1)
do b[i][j] :: cui@inputInt()
end for
end for
var maxScore: int :: -1
var maxI: int :: 0
for i(1, 2 ^ n - 1)
var score: int :: 0
var id: bit64 :: i $ bit64
for j(0, n - 1)
if(id.and((2 ^ j) $ bit64) <> 0b64)
do score :+ a[j]
end if
end for
for j(0, n - 1)
if(id.and((2 ^ j) $ bit64) = 0b64)
skip j
end if
for k(j + 1, n - 1)
if(id.and((2 ^ k) $ bit64) <> 0b64)
do score :+ b[j][k]
end if
end for
end for
if(score > maxScore)
do maxScore :: score
do maxI :: i
end if
end for
var ans: int :: maxScore
do cui@print("\{ans}\n")
for i(0, n - 1)
if((maxI $ bit64).and((2 ^ i) $ bit64) <> 0b64)
do cui@print("\{i + 1} ")
end if
end for
end func