Submission #1178688

#TimeUsernameProblemLanguageResultExecution timeMemory
1178688GoBananas69Bank (IZhO14_bank)C++20
46 / 100
1 ms584 KiB
#include <iostream>
#include <vector>
#include <bitset>

using namespace std;

bool solve(const vector<int>& a, const vector<int>& b) {
    const int MAX_SUM = 1e6;
    bitset<MAX_SUM + 1> dp;
    dp[0] = 1;
    for (int num : b) {
        dp |= (dp << num);
    }

    for (int target : a) {
        if (target > MAX_SUM || !dp[target]) {
            return false;
        }
    }
    return true;
}

int main() {
    int n, m;
    cin >> n >> m;
    vector<int> a(n), b(m);
    for (int &x : a) cin >> x;
    for (int &x : b) cin >> x;

    if (solve(a, b)) 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...