Submission #1309633

#TimeUsernameProblemLanguageResultExecution timeMemory
1309633husseinjuandaBank (IZhO14_bank)C++20
100 / 100
596 ms8524 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n, m; cin >> n >> m;
  vector<int> dp(1<<m, -1e18);
  dp[0] = 0;
  int sum = 0;
  vector<int> x(n);
  for(int i = 0; i < n; i++){
    cin >> x[i];
  }
  vector<int> g(m);
  for(int i = 0; i < m; i++){
    cin >> g[i];
  }
  int c = 0;
  for(int i = 0; i < n; i++){
    int h = x[i];
    sum += h;
    for(int y = 0; y < 1<<m; y++){
      if(dp[y] == -1e18) continue;
      for(int z = 0; z < m; z++){
        int j = 1<<z;
        if((y&j) == 0){
          dp[(y|j)] = dp[y] + g[z];
        }
      }
    }
    c = 0;
    for(int y = 0; y < 1<<m; y++){
      if(dp[y] != sum){
        dp[y] = -1e18;
      }else{
        c++;
      }
    }
  }
  if(c > 0){
    cout << "YES" << "\n";
  }else{
    cout << "NO" << "\n";
  }
  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...