Submission #1198208

#TimeUsernameProblemLanguageResultExecution timeMemory
1198208agussKitchen (BOI19_kitchen)C++20
0 / 100
856 ms327680 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n, m, k, sum = 0; cin >> n >> m >> k; vector<int> a(n), b(m); vector<map<int, int>> dp(m); for(int &i : a){ cin >> i; sum += i; } 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++){ vector<int> aux; for(const auto &[x, y] : dp[i - 1]){ aux.push_back(b[i] + x); aux.push_back(x); } for(const int &j : aux){ dp[i][j] = 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...