結果
| 問題 |
No.1463 Hungry Kanten
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-07-31 23:29:37 |
| 言語 | Kuin (KuinC++ v.2021.9.17) |
| 結果 |
AC
|
| 実行時間 | 1,738 ms / 2,000 ms |
| コード長 | 934 bytes |
| コンパイル時間 | 2,346 ms |
| コンパイル使用メモリ | 163,416 KB |
| 実行使用メモリ | 16,256 KB |
| 最終ジャッジ日時 | 2025-06-20 01:38:18 |
| 合計ジャッジ時間 | 7,849 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 24 |
ソースコード
func main()
var n: int :: cui@inputInt()
var k: int :: cui@inputInt()
var a: []int :: #[n]int
for i(0, n - 1)
do a[i] :: cui@inputInt()
end for
var rnd: lib@Rnd :: lib@makeRnd(lib@sysTime() $ bit32)
var ans: int :: 0
var use: []bool :: #[n]bool
for(1, 4)
var map: dict<int, bool> :: #dict<int, bool>
var mod: int :: rnd.rnd(2 ^ 50, 2 ^ 51)
for ii(0, 2 ^ n - 1)
var id: int :: ii
var cnt: int :: 0
for i(0, n - 1)
do use[i] :: (id % 2 = 1)
if(use[i])
do cnt :+ 1
end if
do id :/ 2
end for
if(cnt >= k)
var mul: int :: 1
for i(0, n - 1)
if(use[i])
do mul :* a[i]
do mul :% mod
end if
end for
do map.add(mul, true)
var sum: int :: 0
for i(0, n - 1)
if(use[i])
do sum :+ a[i]
end if
end for
do map.add(sum, true)
end if
end for
do ans :: lib@max(ans, ^map)
end for
do cui@print("\{ans}\n")
end func