# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
577851 | patrikpavic2 | Uplifting Excursion (BOI22_vault) | C++17 | 40 ms | 468 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int M = 32;
const int GR = M * M * M;
const int INF = 0x3f3f3f3f;
int m;
ll L, A[M], kol;
int dp[2 * GR];
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;
}
ll L2 = 0;
for(int i = 1;i <= m;i++){
ll uz = min(A[i], max(L, 0LL) / i);
L -= uz * i;
if(uz >= M){
A[i] -= (uz - M);
L2 += M * i;
}
else{
L2 += uz * i;
}
A[i] = min((ll)2 * GR / i, A[i]);
}
L += L2;
for(int i = 1;i < 2 * GR;i++)
dp[i] = -INF;
for(int i = 1;i <= m;i++){
for(int j = 0;j < A[i];j++){
for(int k = 2 * GR - 1;k >= i;k--)
dp[k] = max(dp[k], 1 + dp[k - i]);
}
}
if(L >= 2 * GR || dp[L] < 0)
printf("impossible\n");
else
printf("%lld\n", kol + dp[L] + bla);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |