結果

問題 No.4 おもりと天秤
コンテスト
ユーザー zazaboon
提出日時 2017-02-04 19:42:50
言語 Ruby
(4.0.1)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 78 ms / 5,000 ms
コード長 509 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 105 ms
コンパイル使用メモリ 9,088 KB
実行使用メモリ 14,976 KB
最終ジャッジ日時 2026-03-13 02:33:19
合計ジャッジ時間 2,287 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

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"
0