結果
| 問題 |
No.4 おもりと天秤
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-12-05 20:26:44 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
RE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 567 bytes |
| コンパイル時間 | 90 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 44,464 KB |
| 最終ジャッジ日時 | 2024-09-16 02:03:01 |
| 合計ジャッジ時間 | 14,221 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 2 RE * 21 |
ソースコード
import sys
import numpy as np
N = int(input())
Ws = list(map(int, input().split()))
w_sum = sum(Ws)
if w_sum % 2 == 0:
half_sum = w_sum // 2
else:
print('impossible')
sys.exit()
dp = np.zeros([N, w_sum+1], np.bool)
dp[:, 0] = True
for i in range(N):
for j in range(w_sum+1):
# print([i-1, max(0, j - Ws[i])])
if dp[i-1, j]:
dp[i, j] = True
if j - Ws[i] < 0:
continue
if dp[i-1, j - Ws[i]]:
dp[i, j] = True
if dp[-1, half_sum]:
print('possible')
else:
print('impossible')