結果

問題 No.4 おもりと天秤
ユーザー te-sh
提出日時 2020-01-14 15:46:07
言語 Nim
(2.2.0)
結果
AC  
実行時間 7 ms / 5,000 ms
コード長 464 bytes
コンパイル時間 5,552 ms
コンパイル使用メモリ 65,792 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-25 18:02:31
合計ジャッジ時間 6,700 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

# URL: https://yukicoder.me/problems/no/4

import math, sequtils, strutils

var
  n = stdin.readline.parseInt
  w = stdin.readline.split.map(parseInt)
  ws = w.sum

if ws mod 2 == 1:
  echo "impossible"
  quit 0
ws = ws div 2

var dp = newSeqWith(n+1, newSeq[bool](ws+1))
dp[0][0] = true

for i in 0..<n:
  for j in 0..ws:
    dp[i+1][j] = dp[i][j]
    if j >= w[i]:
      dp[i+1][j] = dp[i+1][j] or dp[i][j-w[i]]

echo if dp[n][ws]: "possible" else: "impossible"
0