Submission #824322

#TimeUsernameProblemLanguageResultExecution timeMemory
824322makanhuliaBank (IZhO14_bank)C++17
19 / 100
10 ms212 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long void print(string Z) { cout << Z << endl; } ll arr[23]; ll arr2[23]; ll ps[23]; bool flag[23]; ll N, M; bool check(ll idx, ll nd, ll ret) { if(ret == nd) { flag[idx-1] = 1; if(nd - arr2[idx-1] > 0) { check(0, nd-arr2[idx-1], 0); } return 1; } else if(flag[idx]) { return check(idx+1, nd, ret); } else if(idx > M || ret > nd) { return 0; } else { return (check(idx+1, nd, ret+arr2[idx]) || check(idx+1, nd, ret)); } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> N >> M; for(int i=0; i<N; i++) { cin >> arr[i]; } for(int i=0; i<M; i++) { cin >> arr2[i]; if(i == 0) { ps[i] = arr2[i]; } else { ps[i] = ps[i-1] + arr2[i]; } } sort(arr2, arr2+M); bool X = 1; for(int i=0; i<N; i++) { X = X && check(0, arr[i], 0); } if(X) { print("YES"); } else { print("NO"); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...