Submission #331537

# Submission time Handle Problem Language Result Execution time Memory
331537 2020-11-28T20:47:26 Z jovan_b Bank (IZhO14_bank) C++17
52 / 100
103 ms 29676 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;

vector <int> maske[1005];
int dp[1000005];
int dpp[1000005];
int a[25];
int b[25];

int main(){
    ios_base::sync_with_stdio(false);
	cout.precision(10);
	cout << fixed;

	int n, m;
	cin >> n >> m;
	for(int i=1; i<=n; i++){
        cin >> a[i];
	}
	for(int j=0; j<m; j++){
        cin >> b[j];
	}
	for(int mask=1; mask<(1<<m); mask++){
        int sum = 0;
        for(int j=0; j<m; j++){
            if((1<<j)&mask) sum += b[j];
        }
        if(sum == a[1] && n == 1) {
            cout << "YES\n";
            return 0;
        }
        if(sum <= 1000) maske[sum].push_back(mask);
	}
	dpp[0] = 1;
	for(int i=0; i<n; i++){
        for(int mask=0; mask<(1<<m); mask++){
            if(!dpp[mask]) continue;
            for(auto c : maske[a[i+1]]){
                if(!(c&mask)) dp[mask|c] = 1;
            }
        }
        for(int mask=0; mask<(1<<m); mask++){
            dpp[mask] = dp[mask];
            dp[mask] = 0;
        }
	}
	for(int i=0; i<(1<<m); i++){
        if(dpp[i]){
            cout << "YES\n";
            return 0;
        }
	}
	cout << "NO\n";
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Runtime error 103 ms 29676 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 2 ms 492 KB Output is correct
4 Correct 2 ms 620 KB Output is correct
5 Correct 2 ms 620 KB Output is correct
6 Correct 2 ms 492 KB Output is correct
7 Correct 2 ms 492 KB Output is correct
8 Correct 2 ms 512 KB Output is correct
9 Correct 2 ms 492 KB Output is correct
10 Correct 2 ms 492 KB Output is correct
11 Correct 2 ms 620 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Runtime error 103 ms 29676 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Halted 0 ms 0 KB -