Submission #746018

#TimeUsernameProblemLanguageResultExecution timeMemory
746018vjudge1Kitchen (BOI19_kitchen)C++14
0 / 100
65 ms332 KiB
#include <bits/stdc++.h>

using namespace std;

int main(){

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int n, m, k, requiredHours = 0;
    cin >> n >> m >> k;
    
    vector<int> meals(n), chefs(m);

    for (int & x : meals) {
        cin >> x;
        if (x < k){
            cout << "Impossible" << endl;
            return 0;
        }
        requiredHours += x;
    }
    for (int & x : chefs) cin >> x;

    vector<bool> snack(300*300+1, false);
    snack[0] = true;
    for (int i = 0; i < m; i++){
        for (int j = 300*300; j >= 0; j--){
            if (snack[j]) snack[j + chefs[i]] = true;
        }
    }

    int mo = requiredHours;
    while(true){
        if (snack[mo]) break;
        mo++;
    }
    cout << mo - requiredHours << endl;




    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...