# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
16938 | 2015-10-28T17:56:38 Z | murat | Bank (IZhO14_bank) | C++ | 129 ms | 4852 KB |
#include <bits/stdc++.h> using namespace std; #define dbgs(x) cerr << (#x) << " --> " << (x) << ' ' #define dbg(x) cerr << (#x) << " --> " << (x) << endl #define foreach(i,x) for(type(x)i=x.begin();i!=x.end();i++) #define FOR(ii,aa,bb) for(int ii=aa;ii<=bb;ii++) #define ROF(ii,aa,bb) for(int ii=aa;ii>=bb;ii--) #define type(x) __typeof(x.begin()) #define orta (bas + son >> 1) #define sag (k + k + 1) #define sol (k + k) #define pb push_back #define mp make_pair #define nd second #define st first #define endl '\n' typedef pair < int ,int > pii; typedef long long ll; const long long linf = 1e18+5; const int mod = (int) 1e9 + 7; const int logN = 17; const int inf = 1e9; const int N = 2e5 + 5; int n, m, a[N], b[N], dp[1 << 20]; int f(int w, int mask, int res) { if(w == m+1) return 1; int &r = dp[mask]; if(r != -1) return r; r = 0; FOR(i, 1, n) if(!((1 << i-1) & mask) && res - a[i] >= 0) { if(res == a[i]) r = max(r, f(w+1, mask | (1 << i-1), b[w+1])); else r = max(r, f(w, mask | (1 << i-1), res-a[i])); } return r; } int main() { scanf("%d %d", &m, &n); FOR(i, 1, m) scanf("%d", &b[i]); FOR(i, 1, n) scanf("%d", &a[i]); memset(dp, -1, sizeof dp); if(f(1, 0, b[1])) cout << "YES\n"; else cout << "NO\n"; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 4472 KB | Output is correct |
2 | Correct | 4 ms | 4564 KB | Output is correct |
3 | Correct | 4 ms | 4572 KB | Output is correct |
4 | Correct | 5 ms | 4572 KB | Output is correct |
5 | Correct | 5 ms | 4600 KB | Output is correct |
6 | Correct | 5 ms | 4600 KB | Output is correct |
7 | Correct | 5 ms | 4600 KB | Output is correct |
8 | Correct | 61 ms | 4600 KB | Output is correct |
9 | Correct | 129 ms | 4600 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 4600 KB | Output is correct |
2 | Correct | 5 ms | 4728 KB | Output is correct |
3 | Correct | 5 ms | 4728 KB | Output is correct |
4 | Correct | 5 ms | 4728 KB | Output is correct |
5 | Correct | 5 ms | 4728 KB | Output is correct |
6 | Correct | 5 ms | 4816 KB | Output is correct |
7 | Correct | 5 ms | 4816 KB | Output is correct |
8 | Correct | 5 ms | 4816 KB | Output is correct |
9 | Correct | 5 ms | 4836 KB | Output is correct |
10 | Correct | 5 ms | 4836 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 4836 KB | Output is correct |
2 | Correct | 5 ms | 4836 KB | Output is correct |
3 | Correct | 5 ms | 4836 KB | Output is correct |
4 | Correct | 5 ms | 4836 KB | Output is correct |
5 | Correct | 5 ms | 4844 KB | Output is correct |
6 | Correct | 5 ms | 4844 KB | Output is correct |
7 | Correct | 5 ms | 4852 KB | Output is correct |
8 | Correct | 5 ms | 4852 KB | Output is correct |
9 | Correct | 5 ms | 4852 KB | Output is correct |
10 | Correct | 5 ms | 4852 KB | Output is correct |
11 | Correct | 6 ms | 4852 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 4472 KB | Output is correct |
2 | Correct | 4 ms | 4564 KB | Output is correct |
3 | Correct | 4 ms | 4572 KB | Output is correct |
4 | Correct | 5 ms | 4572 KB | Output is correct |
5 | Correct | 5 ms | 4600 KB | Output is correct |
6 | Correct | 5 ms | 4600 KB | Output is correct |
7 | Correct | 5 ms | 4600 KB | Output is correct |
8 | Correct | 61 ms | 4600 KB | Output is correct |
9 | Correct | 129 ms | 4600 KB | Output is correct |
10 | Correct | 5 ms | 4600 KB | Output is correct |
11 | Correct | 5 ms | 4728 KB | Output is correct |
12 | Correct | 5 ms | 4728 KB | Output is correct |
13 | Correct | 5 ms | 4728 KB | Output is correct |
14 | Correct | 5 ms | 4728 KB | Output is correct |
15 | Correct | 5 ms | 4816 KB | Output is correct |
16 | Correct | 5 ms | 4816 KB | Output is correct |
17 | Correct | 5 ms | 4816 KB | Output is correct |
18 | Correct | 5 ms | 4836 KB | Output is correct |
19 | Correct | 5 ms | 4836 KB | Output is correct |
20 | Correct | 5 ms | 4836 KB | Output is correct |
21 | Correct | 5 ms | 4836 KB | Output is correct |
22 | Correct | 5 ms | 4836 KB | Output is correct |
23 | Correct | 5 ms | 4836 KB | Output is correct |
24 | Correct | 5 ms | 4844 KB | Output is correct |
25 | Correct | 5 ms | 4844 KB | Output is correct |
26 | Correct | 5 ms | 4852 KB | Output is correct |
27 | Correct | 5 ms | 4852 KB | Output is correct |
28 | Correct | 5 ms | 4852 KB | Output is correct |
29 | Correct | 5 ms | 4852 KB | Output is correct |
30 | Correct | 6 ms | 4852 KB | Output is correct |
31 | Correct | 109 ms | 4852 KB | Output is correct |
32 | Correct | 127 ms | 4852 KB | Output is correct |
33 | Correct | 12 ms | 4852 KB | Output is correct |
34 | Correct | 5 ms | 4852 KB | Output is correct |
35 | Correct | 5 ms | 4852 KB | Output is correct |
36 | Correct | 5 ms | 4852 KB | Output is correct |
37 | Correct | 5 ms | 4852 KB | Output is correct |
38 | Correct | 5 ms | 4852 KB | Output is correct |
39 | Correct | 21 ms | 4852 KB | Output is correct |
40 | Correct | 5 ms | 4852 KB | Output is correct |
41 | Correct | 5 ms | 4852 KB | Output is correct |
42 | Correct | 67 ms | 4852 KB | Output is correct |
43 | Correct | 7 ms | 4852 KB | Output is correct |
44 | Correct | 5 ms | 4852 KB | Output is correct |
45 | Correct | 61 ms | 4852 KB | Output is correct |
46 | Correct | 29 ms | 4852 KB | Output is correct |
47 | Correct | 4 ms | 4852 KB | Output is correct |
48 | Correct | 23 ms | 4852 KB | Output is correct |
49 | Correct | 5 ms | 4852 KB | Output is correct |
50 | Correct | 123 ms | 4852 KB | Output is correct |
51 | Correct | 6 ms | 4852 KB | Output is correct |
52 | Correct | 8 ms | 4852 KB | Output is correct |
53 | Correct | 127 ms | 4852 KB | Output is correct |
54 | Correct | 121 ms | 4852 KB | Output is correct |
55 | Correct | 119 ms | 4852 KB | Output is correct |
56 | Correct | 119 ms | 4852 KB | Output is correct |
57 | Correct | 119 ms | 4852 KB | Output is correct |
58 | Correct | 121 ms | 4852 KB | Output is correct |