結果
問題 |
No.4 おもりと天秤
|
ユーザー |
![]() |
提出日時 | 2017-08-03 07:08:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 706 bytes |
コンパイル時間 | 99 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 16,000 KB |
最終ジャッジ日時 | 2024-10-11 18:36:29 |
合計ジャッジ時間 | 6,640 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 2 TLE * 1 -- * 20 |
ソースコード
# your code goes here N=int(input ()) W=[int(i) for i in input (). split ()] H=0 nd=0 for i in range (N): H+=W[i] if H%2==1: nd=2 else: H//=2 W.sort(reverse=True) H-=W[0] W.pop(0) N-=1 U=0 i=0 S=[0]*N while nd<1: while i<N and U<H: S[i]=1 U+=W[0] i+=1 if U==H: nd=1 elif i<N: i-=1 S[i]=0 U-=W[i] else: i-=1 while i>=0 and S[i]==1: S[i]=0 U-=W[i] i-=1 while i>=0 and S[i]==0: i-=1 if i<0: nd=2 else: S[i]=0 U-=W[i] if nd==2: p="impossible" elif nd==1: p="possible" print (p)