結果

問題 No.4 おもりと天秤
コンテスト
ユーザー yuly3
提出日時 2020-01-30 02:32:34
言語 Nim
(2.2.8)
コンパイル:
nim --nimcache=~ --hints:off -o:a.out -d:release cpp _filename_
実行:
./a.out
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 537 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 4,317 ms
コンパイル使用メモリ 67,512 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-05 07:24:46
合計ジャッジ時間 5,361 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import strutils, sequtils, math


proc solve() =
    var
        N = stdin.readLine.parseInt
        W = stdin.readLine.split.map(parseInt)
        dp: array[5001, bool]
    
    if sum(W) mod 2 != 0:
        echo "impossible"
        quit()
    
    dp[0] = true
    let target = sum(W) div 2
    for i in 0..<N:
        for w in countdown(target - W[i], 0):
            if dp[w]:
                dp[w + W[i]] = true
    
    if dp[target]:
        echo "possible"
    else:
        echo "impossible"


when is_main_module:
    solve()
0