Submission #944979

#TimeUsernameProblemLanguageResultExecution timeMemory
944979nguyennhBank (IZhO14_bank)C++17
0 / 100
1 ms460 KiB
#include<bits/stdc++.h>
#define el '\n'
using namespace std ;

mt19937 rd(chrono::steady_clock::now().time_since_epoch().count());

int32_t main (){
  ios_base::sync_with_stdio(0);
  cin.tie(0); 
  int n , m;
  cin >> n >> m;
  vector<int> a(n + 5) , b(m + 5);
  for ( int i = 1 ; i <= n ; i++ ) cin >> a[i];
  for ( int i = 1 ; i <= m ; i++ ) cin >> b[i];
  int sum = accumulate(b.begin() + 1 , b.begin() + m + 1 , 0);
  vector<vector<bool>> dp(m + 5 , vector<bool> (sum + 5 , false));
  dp[0][0] = 1;
  for ( int i = 1 ; i <= m ; i++ ){
    for ( int j = 1 ; j <= sum ; j++ ){
      dp[i][j] = dp[i - 1][j];
      if (j >= b[i]){
        dp[i][j] = dp[i][j] | dp[i - 1][j - b[i]];
      }
    }
  }
  bool check = true;
  for ( int i = 1 ; i <= n ; i++ ) check &= dp[m][a[i]];
  cout << (check ? "YES" : "NO");
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...