Submission #37763

# Submission time Handle Problem Language Result Execution time Memory
37763 2017-12-28T05:07:46 Z Just_Solve_The_Problem Bank (IZhO14_bank) C++11
19 / 100
480 ms 1636 KB
#include <bits/stdc++.h>

using namespace std;

const int N = (int)22;
const int NN = (1 << 20);

int a[N], b[N];
bool dp[NN];
bool used[NN];
int n, m;

void go (int mask, vector < int > vec) {
    bool fl = 1;
    if (used[mask]) return ;
    used[mask] = 1;
    for (int i = 0; i < n; i++) {
        if (vec[i] != 0) fl = 0;
    }
    if (fl) {
//        cout << mask << endl;
        puts("YES");
        exit(0);
    }
    for (int i = 0; i < n; i++) {
        if (vec[i] == 0) continue;
        for (int j = 0; j < m; j++) {
            if (vec[i] >= b[j] && !(mask & (1 << j))) {
                vec[i] -= b[j];
                go(mask | (1 << j), vec);
                vec[i] += b[j];
            }
        }
    }
}

main () {
    scanf ("%d %d", &n, &m);
    for (int i = 0; i < n; i++) {
        scanf ("%d", a + i);
    }
    sort(a, a + n);
    for (int i = 0; i < m; i++) {
        scanf ("%d", b + i);
    }
    sort(b, b + m);
    vector < int > vec(n);
    for (int i = 0; i < n; i++) {
        vec[i] = a[i];
    }
    go(0, vec);
    puts("NO");
}

Compilation message

bank.cpp:37:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main () {
       ^
bank.cpp: In function 'int main()':
bank.cpp:38:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf ("%d %d", &n, &m);
     ~~~~~~^~~~~~~~~~~~~~~~~
bank.cpp:40:15: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf ("%d", a + i);
         ~~~~~~^~~~~~~~~~~~~
bank.cpp:44:15: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf ("%d", b + i);
         ~~~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 1 ms 380 KB Output is correct
3 Correct 2 ms 456 KB Output is correct
4 Correct 2 ms 500 KB Output is correct
5 Correct 2 ms 576 KB Output is correct
6 Correct 2 ms 576 KB Output is correct
7 Correct 2 ms 620 KB Output is correct
8 Correct 2 ms 620 KB Output is correct
9 Correct 480 ms 1636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1636 KB Output is correct
2 Correct 2 ms 1636 KB Output is correct
3 Incorrect 2 ms 1636 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 20 ms 1636 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 1 ms 380 KB Output is correct
3 Correct 2 ms 456 KB Output is correct
4 Correct 2 ms 500 KB Output is correct
5 Correct 2 ms 576 KB Output is correct
6 Correct 2 ms 576 KB Output is correct
7 Correct 2 ms 620 KB Output is correct
8 Correct 2 ms 620 KB Output is correct
9 Correct 480 ms 1636 KB Output is correct
10 Correct 2 ms 1636 KB Output is correct
11 Correct 2 ms 1636 KB Output is correct
12 Incorrect 2 ms 1636 KB Output isn't correct
13 Halted 0 ms 0 KB -