# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
577770 | 2022-06-15T08:48:05 Z | patrikpavic2 | Uplifting Excursion (BOI22_vault) | C++17 | 1 ms | 212 KB |
#include <cstdio> #include <algorithm> using namespace std; typedef long long ll; const int M = 32; const int INF = 0x3f3f3f3f; int m; ll L, A[M], kol, B[M]; int dp[M * M]; ll greedy(ll cur){ if(cur < 0) return -1; ll ret = 0; for(int i = 1;i <= m;i++){ ll uz = min(B[i], cur / i); cur -= uz * i; ret += uz; } return cur == 0 ? ret : -1; } int main(){ scanf("%d%lld", &m, &L); for(int i = m;i >= 1;i--){ ll x; scanf("%lld", &x); // A[i] += x; L += x * i; } ll bla; scanf("%lld", &bla); for(int i = 1;i <= m;i++){ ll x; scanf("%lld", &x); A[i] += x; } for(int i = 1;i <= m;i++){ B[i] = A[i] - min(A[i], (ll)M); A[i] -= B[i]; } for(int i = 1;i < M * M;i++) dp[i] = -INF; for(int i = 1;i <= m;i++){ for(int j = 0;j < A[i];j++){ for(int k = M * M - 1;k >= i;k--) dp[k] = max(dp[k], 1 + dp[k - i]); } } ll odg = -1; for(int LL = 0;LL < M * M;LL++){ if(dp[LL] < 0) continue; ll jos = greedy(L - LL); if(jos == -1) continue; odg = max(odg, jos + bla + dp[LL]); } if(odg < 0) printf("impossible\n"); else printf("%lld\n", odg); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |