Submission #1177841

#TimeUsernameProblemLanguageResultExecution timeMemory
1177841nrg_studioBank (IZhO14_bank)C++20
100 / 100
127 ms4540 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define pii pair<int,int> #define f first #define s second #define chmin(a, b) a = min(a,b) #define chmax(a, b) a = max(a,b) #define FOR(i, a, b) for (int i = (a); i < (b); i++) #define F0R(i, a) for (int i = 0; i < (a); i++) #define all(x) x.begin(),x.end() #define vec vector const int MAX_N = 20; int a[MAX_N], b[MAX_N], ps[MAX_N+2] = {0}; int dp[1<<MAX_N] = {0}; int main() { ios::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; F0R(i,n) {cin >> a[i]; ps[i+1] = a[i]+ps[i];} F0R(i,m) {cin >> b[i];} int ans = 0; F0R(mask,1<<m) { chmax(ans,dp[mask]); int sum = 0; F0R(j,m) { if ((1<<j)&mask) {sum += b[j];} } F0R(j,m) { if (!((1<<j)&mask)) { chmax(dp[mask|(1<<j)],dp[mask]+(sum+b[j]==ps[dp[mask]+1])); } } } cout << (ans==n ? "YES" : "NO") << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...