結果
| 問題 |
No.1606 Stuffed Animals Keeper
|
| コンテスト | |
| ユーザー |
yuruhiya
|
| 提出日時 | 2021-07-17 13:15:28 |
| 言語 | Crystal (1.14.0) |
| 結果 |
AC
|
| 実行時間 | 531 ms / 3,000 ms |
| コード長 | 370 bytes |
| コンパイル時間 | 11,597 ms |
| コンパイル使用メモリ | 294,976 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-07 01:03:59 |
| 合計ジャッジ時間 | 16,022 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 48 |
ソースコード
n = read_line.to_i
ans = read_line.delete(' ').split('2').map { |s|
{s.count('0'), s.count('1')}
}.reduce([0] + [10**9] * (2*n)) { |dp, (a, b)|
(-n..n).each_with_object([10**9] * (2*n + 1)) do |i, dp2|
dp2[i - a] = {dp2[i - a], dp[i] + a}.min if i - a >= -n
dp2[i + b] = {dp2[i + b], dp[i] + b}.min if i + b <= +n
end
}[0]
puts ans < 10**9 ? ans // 2 : -1
yuruhiya