Submission #472644

#TimeUsernameProblemLanguageResultExecution timeMemory
472644dqkBank (IZhO14_bank)C++17
100 / 100
127 ms8528 KiB
#include <bits/stdc++.h> int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int n, m; std::cin >> n >> m; std::vector<int> a(n), b(m); for (int i = 0; i < n; ++i) { std::cin >> a[i]; } for (int i = 0; i < m; ++i) { std::cin >> b[i]; } std::vector<std::pair<int, int>> dp(1 << m); dp[0] = {0, 0}; for (int s = 0; s < (1 << m); ++s) { dp[s] = {0, 0}; for (int j = 0; j < m; ++j) { if (s & (1 << j)) { auto option = dp[s ^ (1 << j)]; option.second += b[j]; if (option.second == a[option.first]) { option.first++; option.second = 0; } dp[s] = std::max(dp[s], option); } } if (dp[s].first == n) { std::cout << "YES\n"; return 0; } } std::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...