Submission #1134367

#TimeUsernameProblemLanguageResultExecution timeMemory
1134367MuhammetBank (IZhO14_bank)C++17
19 / 100
70 ms584 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long int #define SZ(s) (int)s.size() #define ff first #define ss second const int N = 2e5 + 5; int n, m; vector <int> a, b, p; unordered_map <int,bool> mp, mp1; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n >> m; a.resize(n+1), b.resize(m+1), p.resize(n+1, 0); for(int i = 1; i <= n; i++){ cin >> a[i]; p[i] = p[i-1] + a[i]; } for(int i = 1; i <= m; i++){ cin >> b[i]; } vector <vector <bool>> dp(n+1, vector <bool> (N+1,0)); for(int i = 0; i < N; i++){ dp[0][i] = true; } for(int i = 0; i < (1<<m); i++){ int x = 0; for(int j = 0; j < m; j++){ if((i>>j) & 1) x += b[j+1]; } for(int j = 1; j <= n; j++){ if(x == p[j] and dp[j-1][x] == true) dp[j][x] = true; } } for(int i = 0; i < N; i++){ if(dp[n][i] == true){ cout << "YES"; return 0; } } cout << "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...