結果

問題 No.1701 half price
ユーザー mesame3993mesame3993
提出日時 2021-10-08 23:08:49
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 568 bytes
コンパイル時間 495 ms
コンパイル使用メモリ 87,096 KB
実行使用メモリ 83,640 KB
最終ジャッジ日時 2023-09-30 12:38:59
合計ジャッジ時間 5,368 ms
ジャッジサーバーID
(参考情報)
judge11 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 69 ms
71,652 KB
testcase_01 AC 71 ms
71,212 KB
testcase_02 AC 184 ms
79,064 KB
testcase_03 AC 72 ms
71,348 KB
testcase_04 WA -
testcase_05 AC 85 ms
76,756 KB
testcase_06 AC 816 ms
83,280 KB
testcase_07 WA -
testcase_08 AC 72 ms
71,592 KB
testcase_09 AC 72 ms
71,392 KB
testcase_10 AC 71 ms
71,372 KB
testcase_11 AC 70 ms
71,552 KB
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 AC 71 ms
71,536 KB
testcase_16 AC 71 ms
71,348 KB
testcase_17 AC 70 ms
71,308 KB
testcase_18 AC 70 ms
71,448 KB
testcase_19 AC 69 ms
71,180 KB
testcase_20 AC 69 ms
71,552 KB
testcase_21 AC 709 ms
83,352 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from itertools import product
n, w = map(int, input().split())
a = list(map(int, input().split()))
if w == 0:
	zero = a.count(0)
	ans = 2 ** zero - 1
	print(ans)
	exit()
b = [i // 2 for i in a]
ans = 0
it = []
items = [i for i in range(n)]
for bits in product([0, 1], repeat=n):
	tmp = [[x] for x, bit in zip(items, bits) if bit == 1]
	if tmp == []:
		continue
	it.append(tmp)
for i in it:
	l = []
	for j in range(len(i)):
		l.append([a[j], b[j]])
	st = []
	for k in product(*l):
		k = sorted(k)
		if sum(k) == w and k not in st:
			st.append(k)
			ans += 1
print(ans)
0