제출 #1198212

#제출 시각아이디문제언어결과실행 시간메모리
1198212agussKitchen (BOI19_kitchen)C++20
0 / 100
883 ms327680 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n, m, k, sum = 0; cin >> n >> m >> k; vector<int> b(m); vector<map<int, int>> dp(m); for(int i = 0; i < n; i++){ int aux; cin >> aux; sum += aux; } for(int &i : b){ cin >> i; } sort(b.begin(), b.end()); for(int i = 0; i < m; i++){ dp[i][b[i]] = 1; } for(int i = 1; i < m; i++){ for(const auto &[x, y] : dp[i - 1]){ dp[i][b[i] + x] = 1; dp[i][x] = 1; } } map<int, int>::iterator c = dp[m - 1].lower_bound(sum); if(c == dp[m - 1].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...