結果
| 問題 | No.4 おもりと天秤 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2021-04-08 23:45:12 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 725 bytes | 
| コンパイル時間 | 395 ms | 
| コンパイル使用メモリ | 82,540 KB | 
| 実行使用メモリ | 69,616 KB | 
| 最終ジャッジ日時 | 2024-06-24 02:14:34 | 
| 合計ジャッジ時間 | 2,586 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | WA * 23 | 
ソースコード
N = int(input())
W = sorted([int(i) for i in input().split()])
dp = [[0]*(10000) for j in range(N)] # DPテーブルの作成
sum_W = sum(W)
if(sum_W % 2 == 1):
	print("impossible")
	print()
	exit()
	
for i in range(N):
	for j in range(10000):
		dp[i][j] = dp[i-1][j]	# i-1番目までにどの重さを作れたかをi番目の表にコピー
		if(dp[i][j] == 1):
			dp[i][j+W[i]] = 1	# これまでに作れた重さ+i番目のおもりの重さも作れる
	dp[i][W[i]] = 1				# i番目のおもりを使った重さは作れる
# 以上の操作でdp[N-1]に作れる重さの表が完成する
if(dp[N-1][int(sum_W/2)] == 1):
	print("possible")
	print()
else:
	print("impossible")
	print()
            
            
            
        