Submission #1107503

#TimeUsernameProblemLanguageResultExecution timeMemory
1107503vjudge1Bank (IZhO14_bank)C++17
71 / 100
1075 ms6792 KiB
#include <bits/stdc++.h> using namespace std; #define nl '\n' #define pb push_back const int N = 1e5 + 1; int n, m, a[21], b[21]; vector< int >mp[1001]; bool ch; void rec( int i, int sum ) { if( i == n ) { cout <<"YES\n"; exit(0); } for( int x: mp[a[i]] ) if( sum + x == (sum | x) ) rec(i + 1, sum + x); } void solve() { cin >>n >>m; for( int i = 0; i < n; ++i ) cin >>a[i]; for( int j = 0; j < m; ++j ) cin >>b[j]; for( int mask = 0; mask < (1 << m); ++mask ) { int sum = 0; for( int i = 0; i < m && sum <= 1000; ++i ) if( (1 << i) & mask ) sum += b[i]; if (sum <= 1000) mp[sum].pb( mask ); } rec(0, 0); cout <<"NO\n"; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); int T = 1; // cin >>T; while( T-- ) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...