結果
問題 | No.1701 half price |
ユーザー | McGregorsh |
提出日時 | 2022-07-25 19:08:52 |
言語 | PyPy3 (7.3.13) |
結果 |
AC
|
実行時間 | 613 ms / 3,000 ms |
コード長 | 1,936 bytes |
コンパイル時間 | 690 ms |
コンパイル使用メモリ | 87,012 KB |
実行使用メモリ | 94,128 KB |
最終ジャッジ日時 | 2023-09-22 04:19:29 |
合計ジャッジ時間 | 8,792 ms |
ジャッジサーバーID (参考情報) |
judge14 / judge11 |
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 272 ms
92,140 KB |
testcase_01 | AC | 279 ms
92,384 KB |
testcase_02 | AC | 325 ms
93,832 KB |
testcase_03 | AC | 245 ms
92,444 KB |
testcase_04 | AC | 302 ms
93,900 KB |
testcase_05 | AC | 251 ms
93,356 KB |
testcase_06 | AC | 493 ms
93,792 KB |
testcase_07 | AC | 495 ms
94,128 KB |
testcase_08 | AC | 246 ms
92,356 KB |
testcase_09 | AC | 247 ms
92,228 KB |
testcase_10 | AC | 242 ms
92,080 KB |
testcase_11 | AC | 243 ms
92,144 KB |
testcase_12 | AC | 244 ms
92,212 KB |
testcase_13 | AC | 249 ms
92,268 KB |
testcase_14 | AC | 246 ms
92,260 KB |
testcase_15 | AC | 246 ms
92,336 KB |
testcase_16 | AC | 245 ms
92,260 KB |
testcase_17 | AC | 263 ms
93,512 KB |
testcase_18 | AC | 245 ms
92,236 KB |
testcase_19 | AC | 248 ms
93,232 KB |
testcase_20 | AC | 245 ms
92,352 KB |
testcase_21 | AC | 613 ms
93,856 KB |
ソースコード
import sys, re from fractions import Fraction from math import ceil, floor, sqrt, pi, factorial, gcd from copy import deepcopy from collections import Counter, deque, defaultdict from heapq import heapify, heappop, heappush from itertools import accumulate, product, combinations, combinations_with_replacement, permutations from bisect import bisect, bisect_left, bisect_right from functools import reduce from decimal import Decimal, getcontext def i_input(): return int(input()) def i_map(): return map(int, input().split()) def i_list(): return list(i_map()) def i_row(N): return [i_input() for _ in range(N)] def i_row_list(N): return [i_list() for _ in range(N)] def s_input(): return input() def s_map(): return input().split() def s_list(): return list(s_map()) def s_row(N): return [s_input for _ in range(N)] def s_row_str(N): return [s_list() for _ in range(N)] def s_row_list(N): return [list(s_input()) for _ in range(N)] def lcm(a, b): return a * b // gcd(a, b) def get_distance(x1, y1, x2, y2): d = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) return d def rotate(table): n_fild = [] for x in zip(*table[::-1]): n_fild.append(x) return n_fild sys.setrecursionlimit(10 ** 7) INF = float('inf') MOD = 10 ** 9 + 7 MOD2 = 998244353 ###関数コピーしたか?### def main(): n, w = i_map() a = i_list() ans = 0 for bit in product([0, 1], repeat=n): if sum(bit) == 0: continue lines = [] for i in range(n): if bit[i] == 1: lines.append(i) for bit2 in product([0, 1], repeat=len(lines)): cou = 0 for j in range(len(lines)): if bit2[j] == 1: cou += a[lines[j]] // 2 else: cou += a[lines[j]] if cou == w: ans += 1 #print(bit) break print(ans) if __name__ == '__main__': main()