Submission #567303

#TimeUsernameProblemLanguageResultExecution timeMemory
5673031zaid1Kitchen (BOI19_kitchen)C++14
0 / 100
69 ms136032 KiB
#include <bits/stdc++.h> using namespace std; #define endl '\n' #define int long long const int M = 3e2+5, MOD = 1e9+7; int dp[M][M*M]; signed main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); srand(time(0)); int n, m, k; cin >> n >> m >> k; if (k > m) { cout << "Impossible" << endl; return 0; } vector<int> meal(n), cock(m); int s = 0; for (int&i:meal) cin >> i; for (int i:meal) s += i; int s2 = 0; for (int&i:cock) cin >> i; for (int i:cock) s2 += i; sort(cock.begin(), cock.end()); dp[0][0] = 1; cout << s << endl; for (int i = 1; i <= m; i++) { for (int x = 0; x <= s2; x++) { dp[i][x] |= dp[i-1][x]; if (dp[i-1][x]) dp[i][x+cock[i-1]] = 1; } } for (int i = s; i < M*M; i++) { if (dp[m][i]) { cout << i-s << endl; return 0; } } cout << "Impossible" << 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...