제출 #1198200

#제출 시각아이디문제언어결과실행 시간메모리
1198200agussKitchen (BOI19_kitchen)C++20
0 / 100
308 ms2576 KiB
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n, m, k, sum = 0;
    cin >> n >> m >> k;
    map<int, int> dp;
    vector<int> a(n), b(n);
    for(int &i : a){
        cin >> i;
        sum += i;
    }
    for(int &i : b){
        cin >> i;
        dp[i] = 1;
    }
    for(int &i : b){
        vector<int> aux;
        for(map<int, int>::iterator j = dp.upper_bound(i); j != dp.end(); j++){
            int x = j -> first;
            aux.push_back(x + i);
        }
        for(const int &j : aux){
            dp[j] = 1;
        }
    }
    map<int, int>::iterator c = dp.lower_bound(sum);
    if(c == dp.end()){
        cout << "Impossible";
        return 0;
    }
    int x = c -> first;
    cout << x - sum;
    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...