#include <iostream>
#include <vector>
using namespace std;
bool f(int s, vector<int> b, int idx) {
if(s == 0 ) return true;
if(idx == b.size()) return false;
if(f(s,b,idx+1)){
return true;
}
if(s >= b[idx] && f(s - b[idx],b,idx+1) ){
return true;
}
return false;
}
int main() {
int N, M;
cin >> N >> M;
vector<int> salaries(N);
vector<int> banknotes(M);
for (int i = 0; i < N; ++i) {
cin >> salaries[i];
}
for (int i = 0; i < M; ++i) {
cin >> banknotes[i];
}
if (f(salaries[0], banknotes, 0)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |