Submission #330696

# Submission time Handle Problem Language Result Execution time Memory
330696 2020-11-26T09:22:57 Z hakanai Bank (IZhO14_bank) C++17
0 / 100
2 ms 364 KB
// https://oj.uz/problem/view/IZhO14_bank

#include <bits/stdc++.h>

using namespace std;

const int N = 1010;
vector<int> mp[N];
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n, m;
    cin >> n >> m;
    vector<int> a(n), b(m);
    for ( int i=0; i<n; i++ ) cin >> a[i];
    for ( int i=0; i<m; i++ ) cin >> b[i];
    for ( int s=1; s<1<<m; s++ ) {
        int res = 0;
        for ( int i=0; i<m; i++ ) {
            if ( s>>i&1 ) res += b[i]; 
        }
        if ( res<N ) mp[res].push_back(s); 
    }
    set<int> avail;
    int s = (1<<m) - 1;
    avail.insert(s);
    for ( int i=0; i<n; i++ ) {
        set<int> navail;
        for ( int t:mp[a[i]] ) {
            for ( int s:avail ) {
                if ( (t&s)==t&&(s^t)>0&&navail.count(s^t) ) {
                    navail.insert(s^t);
                }
            }
        }
        if ( navail.empty() ) {
            cout << "NO" << '\n';
            return 0;
        }
        avail = navail;
    }
    cout << "YES" << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -