Submission #965498

# Submission time Handle Problem Language Result Execution time Memory
965498 2024-04-18T18:27:58 Z 0x34c Bank (IZhO14_bank) C++17
0 / 100
2 ms 728 KB
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int, int>
#define endl '\n'
#define int ll

using namespace std;

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int N, M;
    cin >> N >> M;

    vector<int> ppl(N + 1), mny(M);
    for(int i = 0; i < N; i++)
        cin >> ppl[i];
    ppl[N] = numeric_limits<int>::max();
    
    for(int j = 0; j < M; j++)
        cin >> mny[j];

    vector<int> pref_sol(1 << M, 0);
    vector<int> cur_sol(1 << M, 0);

    for(int mask = 1; mask < (1 << M); mask++) {
        for(int pick = 0; pick < M; pick++) {
            if((mask & (1 << pick)) == 0)
                continue;
            
            int prev = mask & (~(1 << pick));
            if(cur_sol[prev] + mny[pick] > ppl[pref_sol[prev]])
                continue;
            else if(cur_sol[prev] + mny[pick] < ppl[pref_sol[prev]]) {
                cur_sol[mask] += mny[pick];
                pref_sol[mask] = pref_sol[prev];
            }
            else {
                cur_sol[prev] += mny[pick];
                pref_sol[mask] = 1 + pref_sol[prev];
            }
        }
    }

    if(pref_sol[(1 << M) - 1] == N) {
        cout << "YES" << endl;
    }
    else cout << "NO" << endl;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 728 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -