結果
問題 |
No.324 落ちてた閉路グラフ
|
ユーザー |
![]() |
提出日時 | 2015-12-17 12:14:26 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,173 bytes |
コンパイル時間 | 378 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 43,904 KB |
最終ジャッジ日時 | 2024-09-16 07:28:02 |
合計ジャッジ時間 | 10,349 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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(2){ Array.new(m+1, -Float::INFINITY) } } } memo[0][0][0][m] = 0 memo[0][1][1][m-1] = 0 0.upto(n-2){|i| 0.upto(m){|j| #memo[1][0][0][j] = [memo[0][0][0][j], memo[0][0][1][j]].max #memo[1][0][1][j] = [memo[0][0][0][j+1], memo[0][0][1][j+1] + ws[i]].max if j < m #memo[1][1][0][j] = [memo[0][1][0][j], memo[0][1][1][j]].max #memo[1][1][1][j] = [memo[0][1][0][j+1], memo[0][1][1][j+1] + ws[i]].max if j < m memo[1][0][0][j] = memo[0][0][0][j] > memo[0][0][1][j] ? memo[0][0][0][j] : memo[0][0][1][j] memo[1][0][1][j] = memo[0][0][0][j+1] > memo[0][0][1][j+1] + ws[i] ? memo[0][0][0][j+1] : memo[0][0][1][j+1] + ws[i] if j < m memo[1][1][0][j] = memo[0][1][0][j] > memo[0][1][1][j] ? memo[0][1][0][j] : memo[0][1][1][j] memo[1][1][1][j] = memo[0][1][0][j+1] > memo[0][1][1][j+1] + ws[i] ? memo[0][1][0][j+1] : memo[0][1][1][j+1] + ws[i] if j < m } memo[0] = memo[1] memo[1] = Array.new(2){ Array.new(2){ Array.new(m+1, -Float::INFINITY) } } } memo[0][1][1][0] += ws.last puts [memo[0][0][0][0], memo[0][0][1][0], memo[0][1][0][0], memo[0][1][1][0]].max