답안 #768349

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
768349 2023-06-28T00:36:47 Z iamjiamingliu 은행 (IZhO14_bank) PyPy 3
100 / 100
362 ms 37200 KB
input()
people = list(map(int, input().split()))
banknotes = list(map(int, input().split()))

leftover = [-1] * (1 << len(banknotes))
people_covered = [-1] * (1 << len(banknotes))
leftover[0] = 0
people_covered[0] = 0

for s in range(1, 1 << len(banknotes)):
	for last in range(len(banknotes)):
		if not (s & (1 << last)):
			continue
		prev = s ^ (1 << last)
		if people_covered[prev] == -1:
			continue
		new_amt = leftover[prev] + banknotes[last]
		curr_target = people[people_covered[prev]]
		if new_amt < curr_target:
			people_covered[s] = people_covered[prev]
			leftover[s] = new_amt
		elif new_amt == curr_target:
			people_covered[s] = people_covered[prev] + 1
			leftover[s] = 0

	if people_covered[s] == len(people):
		print("YES")
		exit()
print("NO")
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 18212 KB Output is correct
2 Correct 30 ms 18176 KB Output is correct
3 Correct 36 ms 18984 KB Output is correct
4 Correct 36 ms 19264 KB Output is correct
5 Correct 229 ms 35528 KB Output is correct
6 Correct 39 ms 18852 KB Output is correct
7 Correct 37 ms 19004 KB Output is correct
8 Correct 49 ms 35924 KB Output is correct
9 Correct 295 ms 36028 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 19544 KB Output is correct
2 Correct 39 ms 18956 KB Output is correct
3 Correct 40 ms 19384 KB Output is correct
4 Correct 39 ms 19344 KB Output is correct
5 Correct 38 ms 18996 KB Output is correct
6 Correct 38 ms 18952 KB Output is correct
7 Correct 42 ms 19096 KB Output is correct
8 Correct 41 ms 19240 KB Output is correct
9 Correct 42 ms 19336 KB Output is correct
10 Correct 48 ms 18876 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 43 ms 19932 KB Output is correct
2 Correct 52 ms 20260 KB Output is correct
3 Correct 46 ms 20084 KB Output is correct
4 Correct 38 ms 19348 KB Output is correct
5 Correct 40 ms 19512 KB Output is correct
6 Correct 39 ms 19416 KB Output is correct
7 Correct 48 ms 20104 KB Output is correct
8 Correct 51 ms 20120 KB Output is correct
9 Correct 41 ms 19592 KB Output is correct
10 Correct 41 ms 19676 KB Output is correct
11 Correct 40 ms 19484 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 18212 KB Output is correct
2 Correct 30 ms 18176 KB Output is correct
3 Correct 36 ms 18984 KB Output is correct
4 Correct 36 ms 19264 KB Output is correct
5 Correct 229 ms 35528 KB Output is correct
6 Correct 39 ms 18852 KB Output is correct
7 Correct 37 ms 19004 KB Output is correct
8 Correct 49 ms 35924 KB Output is correct
9 Correct 295 ms 36028 KB Output is correct
10 Correct 42 ms 19544 KB Output is correct
11 Correct 39 ms 18956 KB Output is correct
12 Correct 40 ms 19384 KB Output is correct
13 Correct 39 ms 19344 KB Output is correct
14 Correct 38 ms 18996 KB Output is correct
15 Correct 38 ms 18952 KB Output is correct
16 Correct 42 ms 19096 KB Output is correct
17 Correct 41 ms 19240 KB Output is correct
18 Correct 42 ms 19336 KB Output is correct
19 Correct 48 ms 18876 KB Output is correct
20 Correct 43 ms 19932 KB Output is correct
21 Correct 52 ms 20260 KB Output is correct
22 Correct 46 ms 20084 KB Output is correct
23 Correct 38 ms 19348 KB Output is correct
24 Correct 40 ms 19512 KB Output is correct
25 Correct 39 ms 19416 KB Output is correct
26 Correct 48 ms 20104 KB Output is correct
27 Correct 51 ms 20120 KB Output is correct
28 Correct 41 ms 19592 KB Output is correct
29 Correct 41 ms 19676 KB Output is correct
30 Correct 40 ms 19484 KB Output is correct
31 Correct 308 ms 37200 KB Output is correct
32 Correct 261 ms 36404 KB Output is correct
33 Correct 198 ms 36736 KB Output is correct
34 Correct 163 ms 36008 KB Output is correct
35 Correct 232 ms 36048 KB Output is correct
36 Correct 193 ms 36176 KB Output is correct
37 Correct 183 ms 35932 KB Output is correct
38 Correct 230 ms 35624 KB Output is correct
39 Correct 45 ms 35496 KB Output is correct
40 Correct 182 ms 35796 KB Output is correct
41 Correct 211 ms 35880 KB Output is correct
42 Correct 248 ms 35936 KB Output is correct
43 Correct 193 ms 36304 KB Output is correct
44 Correct 232 ms 35816 KB Output is correct
45 Correct 52 ms 35668 KB Output is correct
46 Correct 211 ms 36268 KB Output is correct
47 Correct 184 ms 35928 KB Output is correct
48 Correct 47 ms 35500 KB Output is correct
49 Correct 226 ms 35528 KB Output is correct
50 Correct 299 ms 36296 KB Output is correct
51 Correct 309 ms 36428 KB Output is correct
52 Correct 191 ms 36116 KB Output is correct
53 Correct 325 ms 36940 KB Output is correct
54 Correct 342 ms 36264 KB Output is correct
55 Correct 309 ms 36224 KB Output is correct
56 Correct 309 ms 35632 KB Output is correct
57 Correct 344 ms 35984 KB Output is correct
58 Correct 362 ms 35936 KB Output is correct