結果
問題 | No.1701 half price |
ユーザー |
![]() |
提出日時 | 2021-11-05 00:13:49 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 618 ms / 3,000 ms |
コード長 | 1,004 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 81,792 KB |
最終ジャッジ日時 | 2024-10-15 06:44:40 |
合計ジャッジ時間 | 5,313 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
#!/usr/bin/env python3 from pprint import pprint from sys import setrecursionlimit, stdin from typing import Dict, Iterable, Set INF: int = 1 << 62 setrecursionlimit(1_000_000) def inputs(type_=int): ins = input().split(' ') ins = [x for x in ins if x != ''] if isinstance(type_, Iterable): return [t(x) for t, x in zip(type_, ins)] else: return list(map(type_, ins)) def input_(type_=int): a, = inputs(type_) return a inputi = input_ def inputstr(): return input_(str) def answer(res) -> None: print(res) exit() # start coding n, w = inputs() A = inputs() from itertools import product set_ = set() for it in product(range(3), repeat=n): s = 0 t = [] for i, f in enumerate(it): if f == 1: s += A[i] // 2 t.append(i) elif f == 2: s += A[i] t.append(i) if t == []: continue if s == w: set_.add(tuple(t)) # print(set_) print(len(set_))