#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m, k, sum = 0;
cin >> n >> m >> k;
vector<int> dp, b(m);
for(int i = 0; i < n; i++){
int aux;
cin >> aux;
sum += aux;
}
for(int &i : b){
cin >> i;
}
sort(b.begin(), b.end());
dp.push_back(0);
for(int i = 0; i < m; i++){
int s = dp.size();
for(int j = 0; j < s; j++){
if(dp[j] <= sum) dp.push_back(b[i] + dp[j]);
}
}
auto c = lower_bound(dp.begin(), dp.end(), sum);
if(c == dp.end()){
cout << "Impossible";
return 0;
}
int x = *c;
cout << x - sum;
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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |