結果
問題 |
No.4 おもりと天秤
|
ユーザー |
![]() |
提出日時 | 2017-02-14 18:30:11 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 758 bytes |
コンパイル時間 | 117 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 21,504 KB |
最終ジャッジ日時 | 2024-12-29 22:18:36 |
合計ジャッジ時間 | 56,219 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 TLE * 9 |
ソースコード
import sys N = int(input()) W = input().split(' ') median = 0 list = [] ans = [] for i in range(0,len(W)): W[i] = int(W[i]) median += W[i] list.append(0) if median % 2 == 1: print('impossible') sys.exit() median = median // 2 W.sort() W.reverse() while True: buf = 0 cnt = 0 flag = True for i in range(0,len(list)): buf += W[i] * list[i] if buf > median: flag = False break if buf not in ans and flag == True: ans.append(buf) while True: if len(list) > 0: cnt += 1 buf = list.pop() if buf != 1: break else: break if cnt == N and buf == 1: break list.append(1) cnt -= 1 for i in range(0,cnt): list.append(0) #print(ans) if median in ans: print('possible') else: print('impossible')