답안 #845939

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
845939 2023-09-06T23:19:15 Z alexz1205 은행 (IZhO14_bank) C++14
100 / 100
98 ms 6384 KB
#include <bits/stdc++.h>
using namespace std;

const int N = 20;

int memoi[N][(1<<20)];

int arr1[N], arr2[N];
int n, m;

bool isPos(int i, int v, int d){
	if (memoi[i][d] != 0){
		return memoi[i][d]-1;
	}
	if (v == 0){
		if (i == n-1){
			return 1;
		}
		i ++;
		v = arr1[i];
		return isPos(i, v, d);
	}
	bool pos = 0;
	for (int x = 0; x < m; x ++){
		if (d&(1<<x)){
			if (arr2[x] <= v){
				if (isPos(i, v-arr2[x], d&(~(1<<x)))){
					pos = 1;
					break;
				}
			}else {
				break;
			}
		}
	}
//	if (v == arr1[i]){
		memoi[i][d] = pos+1;
//	}
	return pos;
}

int main() {
	cin >> n >> m;
	for (int x = 0; x < n; x ++){
		cin >> arr1[x];
	}
	for (int x = 0; x < m; x ++){
		cin >> arr2[x];
	}
	sort(arr1, arr1+n);
	sort(arr2, arr2+m);
	bool pos = isPos(0, arr1[0], (1<<m)-1);
	cout << (pos ? "YES" : "NO") << endl;
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 98 ms 4520 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 98 ms 4520 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 348 KB Output is correct
21 Correct 1 ms 348 KB Output is correct
22 Correct 0 ms 348 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Correct 0 ms 344 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 1 ms 348 KB Output is correct
28 Correct 1 ms 348 KB Output is correct
29 Correct 0 ms 348 KB Output is correct
30 Correct 1 ms 348 KB Output is correct
31 Correct 1 ms 1112 KB Output is correct
32 Correct 1 ms 696 KB Output is correct
33 Correct 2 ms 2652 KB Output is correct
34 Correct 1 ms 604 KB Output is correct
35 Correct 1 ms 604 KB Output is correct
36 Correct 1 ms 604 KB Output is correct
37 Correct 1 ms 348 KB Output is correct
38 Correct 0 ms 348 KB Output is correct
39 Correct 0 ms 348 KB Output is correct
40 Correct 0 ms 344 KB Output is correct
41 Correct 0 ms 348 KB Output is correct
42 Correct 41 ms 5812 KB Output is correct
43 Correct 2 ms 2396 KB Output is correct
44 Correct 0 ms 348 KB Output is correct
45 Correct 1 ms 348 KB Output is correct
46 Correct 1 ms 2140 KB Output is correct
47 Correct 1 ms 348 KB Output is correct
48 Correct 1 ms 604 KB Output is correct
49 Correct 0 ms 348 KB Output is correct
50 Correct 1 ms 604 KB Output is correct
51 Correct 1 ms 860 KB Output is correct
52 Correct 2 ms 3160 KB Output is correct
53 Correct 0 ms 348 KB Output is correct
54 Correct 1 ms 600 KB Output is correct
55 Correct 1 ms 604 KB Output is correct
56 Correct 1 ms 604 KB Output is correct
57 Correct 16 ms 6384 KB Output is correct
58 Correct 1 ms 604 KB Output is correct