#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m, k, sum = 0;
cin >> n >> m >> k;
vector<int> dp, b(m);
bool t = false;
for(int i = 0; i < n; i++){
int aux;
cin >> aux;
if(aux < k) t = 1;
sum += aux;
}
if(t) {
cout << "Impossible";
return 0;
}
for(int &i : b){
cin >> i;
}
if(m < k){
cout << "Impossible";
return 0;
}
if(m == 1){
if(b[0] < sum){
cout << "Impossible";
return 0;
}
cout << b[0] - sum;
return 0;
}
if(k == 2){
if(b[0] < n or b[1] < n){
cout << "Impossible";
return 0;
}
if(b[0] + b[1] < sum){
cout << "Impossible";
return 0;
}
cout << b[0] + b[1] - sum;
return 0;
}
if(b[0] > b[1]) swap(b[0], b[1]);
vector<int>::iterator x = lower_bound(b.begin(), b.end(), sum);
if(x == b.end()){
cout << "Impossible";
return 0;
}
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... |