結果
| 問題 |
No.15 カタログショッピング
|
| コンテスト | |
| ユーザー |
Tawara
|
| 提出日時 | 2016-07-29 00:51:16 |
| 言語 | Python2 (2.7.18) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 525 bytes |
| コンパイル時間 | 349 ms |
| コンパイル使用メモリ | 6,912 KB |
| 実行使用メモリ | 38,628 KB |
| 最終ジャッジ日時 | 2024-11-06 18:18:02 |
| 合計ジャッジ時間 | 3,331 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 6 WA * 4 |
ソースコード
from collections import defaultdict
XR = xrange;
N,S = map(int,raw_input().split())
P = [int(raw_input()) for i in XR(N)]
def enum(n,ofs):
L = defaultdict(list)
dp = [0]*(1<<n)
for i in XR(1<<n):
L[dp[i]].append(i)
for j in XR(n):
jbit = 1<<j
if i & jbit: continue
dp[i|jbit] = dp[i] + P[j+ofs]
return L
H = N/2
L1 = enum(H,0)
L2 = enum(N-H,H)
ans = []
for v,l in L1.iteritems():
ans.extend(" ".join(str(i+1) for i in XR(N) if(1<<i)&(b1+(b2<<H)))for b1 in l for b2 in L2[S-v])
for a in sorted(ans): print a
Tawara