Submission #1243848

#TimeUsernameProblemLanguageResultExecution timeMemory
1243848chikien2009Kitchen (BOI19_kitchen)C++20
100 / 100
20 ms1036 KiB
#include <bits/stdc++.h> using namespace std; void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n, m, k, a, sum, f[300 * 300 + 1]; int main() { setup(); cin >> n >> m >> k; for (int i = 0; i < n; ++i) { cin >> a; sum += a; if (a < k) { cout << "Impossible"; return 0; } } while (m--) { cin >> a; for (int i = 300 * 300; i >= 0; --i) { if (a <= i && (a == i || f[i - a] > 0)) { f[i] = max(f[i], f[i - a] + min(n, a)); } } } for (int i = sum; i <= 300 * 300; ++i) { if (f[i] >= n * k) { cout << i - sum; return 0; } } cout << "Impossible"; 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...