Submission #945956

# Submission time Handle Problem Language Result Execution time Memory
945956 2024-03-14T09:04:10 Z iaraha Bank (IZhO14_bank) C++14
19 / 100
368 ms 72296 KB
// Эксперт до 15.04.2024 Насиб
#pragma GCC optimize ("Ofast")
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
#define pf push_front
#define pof pop_front
#define pb push_back
#define pob pop_back
#define fi first
#define se second
#define Yes cout << "YES \n"
#define No cout << "NO \n"
#define Ferarri ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
//////////////////// the code below ////////////////////
signed main(){
    Ferarri
    ll t = 1;
    //cin >> t;
    //cout << setprecision(8) << fixed;
    while (t --) {
        ll n, m;
        cin >> n >> m;
        ll a[n], b[m];
        bool dp[(1 << m) + 5][n + 5] = {};
        vector<ll>w[n + 5];
        map<ll, ll>mp;
        for (ll i = 0; i < n; i++) {
            cin >> a[i];
        }
        for (ll i = 0; i < m; i++) {
            cin >> b[i];
        }
        for (ll i = 0; i < (1 << m); i++) {
            ll s = 0;
            for (ll j = 0; j < m; j++) {
                if (i & (1 << (m - j - 1))) {
                    s += b[j];
                }
            }
            mp[i] = s;
        }
        bool chk = 0;
        for (ll i = 0; i < n; i++) {
            for (ll j = 0; j < (1 << m); j++) {
                if (mp[j] == a[i]) {
                    w[i].pb(j);
                    if (i == 0) {
                        dp[j][i] = 1;
                        if (n == 1) chk = 1;
                    }
                }
            }
        }
        for (ll i = 1; i < n; i++) {
            for (ll j = 0; j < w[i].size(); j++) {
                for (ll k = 0; k < w[i - 1].size(); k++) {
                    if (!(w[i][j] & w[i - 1][k])) {
                        dp[w[i][j] + w[i - 1][k]][i] = 1;
                        if (i == n - 1)
                            chk = 1;
                    }
                }
            }
        }
        if (chk) Yes;
        else No;
    }
}

Compilation message

bank.cpp: In function 'int main()':
bank.cpp:57:30: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |             for (ll j = 0; j < w[i].size(); j++) {
      |                            ~~^~~~~~~~~~~~~
bank.cpp:58:34: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |                 for (ll k = 0; k < w[i - 1].size(); k++) {
      |                                ~~^~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 456 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 11 ms 2552 KB Output is correct
5 Correct 368 ms 72008 KB Output is correct
6 Correct 1 ms 452 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 367 ms 72296 KB Output is correct
9 Correct 362 ms 72252 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Incorrect 1 ms 348 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 11 ms 1624 KB Output is correct
2 Correct 7 ms 1368 KB Output is correct
3 Correct 14 ms 1628 KB Output is correct
4 Incorrect 18 ms 1784 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 456 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 11 ms 2552 KB Output is correct
5 Correct 368 ms 72008 KB Output is correct
6 Correct 1 ms 452 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 367 ms 72296 KB Output is correct
9 Correct 362 ms 72252 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 1 ms 348 KB Output is correct
14 Incorrect 1 ms 348 KB Output isn't correct
15 Halted 0 ms 0 KB -