Submission #710804

#TimeUsernameProblemLanguageResultExecution timeMemory
710804MinaRagy06Bank (IZhO14_bank)C++17
52 / 100
1082 ms2312 KiB
#include <bits/stdc++.h> using namespace std; #define lesgooo ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0) #define endl '\n' #define int long long int a[25], b[25]; bool dp[21][1 << 20]; int n, m; bool solve(int lvl, int msk, int rem, int i) { if (i == m) { if (rem == 0) return dp[lvl+1][msk]; return 0; } return ((msk | (1 << i)) != msk && rem-b[i] >= 0? solve(lvl, msk | (1 << i), rem-b[i], i+1): 0) || solve(lvl, msk, rem, i+1); } signed main() { lesgooo; cin >> n >> m; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < m; i++) cin >> b[i]; for (int i = 0; i < (1 << m); i++) dp[n][i] = 1; for (int i = n-1; i >= 0; i--) for (int j = 0; j < (1 << m); j++) { dp[i][j] = solve(i, j, a[i], 0); } cout << (dp[0][0]? "YES" : "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...