/*Bismillahir Rahmanir Raheem*/
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define F first
#define S second
#define pb push_back
const int inf = (1LL << 60);
void ma1n() {
int n, m, k, tm = 0;
cin>>n>>m>>k;
vector<int> a(n + 1), b(m + 1);
for(int i = 1; i <= n; i++) {
cin>>a[i];
tm += a[i];
if(a[i] < k){
cout<<"Impossible\n";
return;
}
}
for(int i = 1; i <= m; i++) cin>>b[i];
if(k > m) {
cout<<"Impossible\n";
return;
}
int need = k * n;
int ans = inf;
int n1 = (1LL << m);
for(int mask = 0; mask < n1; mask++){
int col = __builtin_popcount(mask);
int sum = 0;
int part = 0;
if(col < k) continue;
for(int i = 0; i < m; i++){
int bit = (1 << i);
if(mask & bit){
if(b[i + 1] < n) continue;
sum += b[i + 1];
part += min(b[i + 1], n);
}
// cout<<mask<<" "<<i<<" "<<sum<<" chekc\n";
}
if (sum >= tm && part >= need) {
ans = min(ans, sum - tm);
}
}
cout<<ans<<"\n";
}
main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int T = 1;
// cin>>T;
while(T--) {
ma1n();
}
}
컴파일 시 표준 에러 (stderr) 메시지
kitchen.cpp:53:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
53 | main() {
| ^~~~| # | 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... |