結果
問題 |
No.324 落ちてた閉路グラフ
|
ユーザー |
![]() |
提出日時 | 2015-12-17 12:19:34 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 687 bytes |
コンパイル時間 | 55 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 20,512 KB |
最終ジャッジ日時 | 2024-09-16 07:28:33 |
合計ジャッジ時間 | 10,101 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 1 TLE * 1 -- * 32 |
コンパイルメッセージ
Syntax OK
ソースコード
n, m = gets.split.map(&:to_i) ws = gets.split.map(&:to_i) memo = Array.new(2){ Array.new(2){ Array.new(m+1, -Float::INFINITY) } } memo[0][0][m] = 0 memo[1][1][m-1] = 0 0.upto(n-2){|i| 0.upto(m){|j| memo[0][0][j] = memo[0][0][j] > memo[0][1][j] ? memo[0][0][j] : memo[0][1][j] memo[0][1][j] = memo[0][0][j+1] > memo[0][1][j+1] + ws[i] ? memo[0][0][j+1] : memo[0][1][j+1] + ws[i] if j < m memo[1][0][j] = memo[1][0][j] > memo[1][1][j] ? memo[1][0][j] : memo[1][1][j] memo[1][1][j] = memo[1][0][j+1] > memo[1][1][j+1] + ws[i] ? memo[1][0][j+1] : memo[1][1][j+1] + ws[i] if j < m } } memo[1][1][0] += ws.last puts [memo[0][0][0], memo[0][1][0], memo[1][0][0], memo[1][1][0]].max