結果
| 問題 | No.4 おもりと天秤 | 
| コンテスト | |
| ユーザー |  zazaboon | 
| 提出日時 | 2017-02-04 19:42:50 | 
| 言語 | Ruby (3.4.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 123 ms / 5,000 ms | 
| コード長 | 509 bytes | 
| コンパイル時間 | 312 ms | 
| コンパイル使用メモリ | 7,424 KB | 
| 実行使用メモリ | 12,416 KB | 
| 最終ジャッジ日時 | 2024-06-26 10:09:02 | 
| 合計ジャッジ時間 | 3,355 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 23 | 
コンパイルメッセージ
Main.rb:27: warning: `:' after local variable or literal is interpreted as binary operator Main.rb:27: warning: even though it seems like symbol literal Syntax OK
ソースコード
def zent(x,s)
    return if($f == 1)
    return if(s > $s)
    return if(x >= $n)
    if(s == $s)
        $f = 1; return;
    end
    return if($memo[s] < x)
    zent(x+1,s)
    $memo[s] = x if $memo[s] > x
    s += $a[x]
    zent(x+1,s)
    $memo[s] = x if $memo[s] > x
end
$f = 0
$n=gets.chomp.to_i
$a=gets.chomp.split(" ").map(&:to_i)
$s = $a.inject(:+)
if ($s%2 == 1)
    puts "impossible"
    exit
end
$s = $s/2
$memo = Array.new($s*2)
$memo.fill(9990)
zent(0,0)
puts ($f == 1)? "possible" :"impossible"
            
            
            
        