結果
| 問題 |
No.4 おもりと天秤
|
| コンテスト | |
| ユーザー |
piconic_X
|
| 提出日時 | 2016-08-20 00:30:04 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 943 bytes |
| コンパイル時間 | 342 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 11,776 KB |
| 最終ジャッジ日時 | 2024-11-07 19:06:19 |
| 合計ジャッジ時間 | 1,949 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 WA * 7 |
ソースコード
def search(N, ws, Sum):
q = [Sum]
s = [0]
while q:
target = q.pop(0)
start = s.pop(0)
for i in range(start, N):
d = target - ws[i]
if d == 0:
res = True
elif d < 0:
if i == N-1:
res = False
else:
continue
elif d > 0:
q_ = [target - ws[j] for j in range(i, N)]
q.extend(q_)
s_ = [j for j in range(i, N)]
s.extend(s_)
del q[0:N-i-1]
break
return res
def main():
N = int(input())
ws = list(map(int, input().split()))
ws.sort()
ws.reverse()
ws_sum = sum(ws)
if ws_sum % 2 == 0:
Sum = ws_sum // 2
res = search(N, ws, Sum)
else:
res = False
if res:
print('possible')
else:
print('impossible')
main()
piconic_X