#include <bits/stdc++.h>
#define int long long
using namespace std;
int a,b,c;
int z[1000005];
int x[1000005];
int suma=0;
int f[4000005];
int bruh=-1e16;
int sumb=0;
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> a >> b >> c;
for (int i=1;i<=a;i++){
cin >> z[i];
suma+=z[i];
}
for (int i=1;i<=b;i++){
cin >> x[i];
sumb+=x[i];
}
for (int i=1;i<=a;i++){
if (z[i]<c){
cout << "Impossible" << "\n";
return 0;
}
}
for (int i=1;i<=max(suma,sumb);i++){
f[i]=bruh;
}
for (int j=1;j<=b;j++){
for (int i=max(suma,sumb);i>=x[j];i--){
f[i]=max(f[i],f[i-x[j]]+min(x[j],a));
}
}
for (int i=1;i<=max(suma,sumb);i++){
if (f[i]>=a*c && i>=suma){
cout << i-suma << "\n";
return 0;
}
}
cout << "Impossible" << "\n";
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... |