Submission #1224190

#TimeUsernameProblemLanguageResultExecution timeMemory
1224190thinknoexitKitchen (BOI19_kitchen)C++20
31 / 100
2 ms396 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 303;
int a[N], b[N];
int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int n, m, k;
    cin >> n >> m >> k;
    int sum = 0;
    for (int i = 1;i <= n;i++) {
        cin >> a[i];
        sum += a[i];
    }
    for (int i = 0;i < m;i++) {
        cin >> b[i];
    }
    for (int i = 1;i <= n;i++) {
        if (a[i] < k) {
            cout << "Impossible\n";
            return 0;
        }
    }
    int mn = 1e9;
    for (int i = 0;i < (1 << m);i++) {
        int s1 = 0, s2 = 0;
        for (int j = 0;j < m;j++) {
            if (i & (1 << j)) s1 += b[j], s2 += min(n, b[j]);
        }
        if (s1 >= sum && s2 >= k * n) {
            mn = min(mn, s1);
        }
    }
    if (mn == 1e9) cout << "Impossible\n";
    else cout << mn - sum << '\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...