# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
580463 | 2022-06-21T09:37:29 Z | urd05 | Uplifting Excursion (BOI22_vault) | C++17 | 3582 ms | 8140 KB |
#include <bits/stdc++.h> using namespace std; int m; long long l; int dp0[1000001]; int dp[1000001]; const int zero=500000; long long arr[202]; typedef pair<int,int> P; int main(void) { scanf("%d %lld",&m,&l); for(int i=1;i<=m*2+1;i++) { scanf("%lld",&arr[i]); } long long total=l; long long ret=0; for(int i=m+2;i<=m*2+1;i++) { long long use=total/(i-m-1); use=min(use,arr[i]); total-=1LL*use*(i-m-1); use=max(use-100,0LL); arr[i]-=use; l-=1LL*use*(i-m-1); ret+=use; if (arr[i]>100) { arr[i]=100; } } for(int i=0;i<=zero*2;i++) { dp0[i]=-1e7; dp[i]=-1e7; } if (l>zero||l<-zero) { printf("impossible"); return 0; } dp[zero]=0; for(int i=1;i<=m*2+1;i++) { if (i==m+1){ for(int j=0;j<=zero*2;j++) { dp[j]=dp[j]+arr[m+1]; } continue; } int val=abs(i-m-1); if (i<m+1) { for(int j=zero*2;j>zero*2-val;j--) { deque<P> dq; for(int k=j;k>=0;k-=val) { int now=dp[k]+k/val; while (!dq.empty()&&dq.back().second>k+arr[i]*val) { dq.pop_back(); } while (!dq.empty()&&dq.front().first<=now) { dq.pop_front(); } dq.push_front(P(now,k)); dp0[k]=max(dp0[k],dq.back().first-k/val); } } } else { for(int j=0;j<val;j++) { deque<P> dq; for(int k=j;k<=zero*2;k+=val) { int now=dp[k]-k/val; while (!dq.empty()&&dq.back().second<k-arr[i]*val) { dq.pop_back(); } while (!dq.empty()&&dq.front().first<=now) { dq.pop_front(); } dq.push_front(P(now,k)); dp0[k]=max(dp0[k],dq.back().first+k/val); } } } for(int j=0;j<=zero*2;j++) { dp[j]=dp0[j]; dp0[j]=-1e7; } } if (dp[zero+l]<0) { printf("impossible"); return 0; } printf("%lld",ret+dp[zero+l]); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 52 ms | 8020 KB | Output is correct |
2 | Correct | 85 ms | 8104 KB | Output is correct |
3 | Correct | 30 ms | 8020 KB | Output is correct |
4 | Correct | 275 ms | 8112 KB | Output is correct |
5 | Correct | 4 ms | 8020 KB | Output is correct |
6 | Correct | 1299 ms | 8104 KB | Output is correct |
7 | Correct | 1364 ms | 8108 KB | Output is correct |
8 | Correct | 1267 ms | 8020 KB | Output is correct |
9 | Correct | 1256 ms | 8108 KB | Output is correct |
10 | Correct | 1445 ms | 8020 KB | Output is correct |
11 | Correct | 1437 ms | 8108 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 52 ms | 8020 KB | Output is correct |
2 | Correct | 85 ms | 8104 KB | Output is correct |
3 | Correct | 30 ms | 8020 KB | Output is correct |
4 | Correct | 275 ms | 8112 KB | Output is correct |
5 | Correct | 4 ms | 8020 KB | Output is correct |
6 | Correct | 1299 ms | 8104 KB | Output is correct |
7 | Correct | 1364 ms | 8108 KB | Output is correct |
8 | Correct | 1267 ms | 8020 KB | Output is correct |
9 | Correct | 1256 ms | 8108 KB | Output is correct |
10 | Correct | 1445 ms | 8020 KB | Output is correct |
11 | Correct | 1437 ms | 8108 KB | Output is correct |
12 | Correct | 51 ms | 8020 KB | Output is correct |
13 | Correct | 85 ms | 8020 KB | Output is correct |
14 | Correct | 32 ms | 8124 KB | Output is correct |
15 | Correct | 259 ms | 8108 KB | Output is correct |
16 | Correct | 4 ms | 8020 KB | Output is correct |
17 | Correct | 1290 ms | 8108 KB | Output is correct |
18 | Correct | 1372 ms | 8108 KB | Output is correct |
19 | Correct | 1270 ms | 8104 KB | Output is correct |
20 | Correct | 1295 ms | 8104 KB | Output is correct |
21 | Correct | 1467 ms | 8124 KB | Output is correct |
22 | Correct | 1454 ms | 8108 KB | Output is correct |
23 | Correct | 4 ms | 8020 KB | Output is correct |
24 | Correct | 2753 ms | 8104 KB | Output is correct |
25 | Correct | 2897 ms | 8108 KB | Output is correct |
26 | Correct | 3304 ms | 8108 KB | Output is correct |
27 | Correct | 3582 ms | 8100 KB | Output is correct |
28 | Correct | 3410 ms | 8108 KB | Output is correct |
29 | Correct | 3453 ms | 8108 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 311 ms | 8108 KB | Output is correct |
2 | Correct | 859 ms | 8112 KB | Output is correct |
3 | Correct | 863 ms | 8104 KB | Output is correct |
4 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 311 ms | 8108 KB | Output is correct |
2 | Correct | 859 ms | 8112 KB | Output is correct |
3 | Correct | 863 ms | 8104 KB | Output is correct |
4 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 311 ms | 8108 KB | Output is correct |
2 | Correct | 859 ms | 8112 KB | Output is correct |
3 | Correct | 863 ms | 8104 KB | Output is correct |
4 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 52 ms | 8020 KB | Output is correct |
2 | Correct | 85 ms | 8104 KB | Output is correct |
3 | Correct | 30 ms | 8020 KB | Output is correct |
4 | Correct | 275 ms | 8112 KB | Output is correct |
5 | Correct | 4 ms | 8020 KB | Output is correct |
6 | Correct | 1299 ms | 8104 KB | Output is correct |
7 | Correct | 1364 ms | 8108 KB | Output is correct |
8 | Correct | 1267 ms | 8020 KB | Output is correct |
9 | Correct | 1256 ms | 8108 KB | Output is correct |
10 | Correct | 1445 ms | 8020 KB | Output is correct |
11 | Correct | 1437 ms | 8108 KB | Output is correct |
12 | Correct | 311 ms | 8108 KB | Output is correct |
13 | Correct | 859 ms | 8112 KB | Output is correct |
14 | Correct | 863 ms | 8104 KB | Output is correct |
15 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
16 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 311 ms | 8108 KB | Output is correct |
2 | Correct | 859 ms | 8112 KB | Output is correct |
3 | Correct | 863 ms | 8104 KB | Output is correct |
4 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 52 ms | 8020 KB | Output is correct |
2 | Correct | 85 ms | 8104 KB | Output is correct |
3 | Correct | 30 ms | 8020 KB | Output is correct |
4 | Correct | 275 ms | 8112 KB | Output is correct |
5 | Correct | 4 ms | 8020 KB | Output is correct |
6 | Correct | 1299 ms | 8104 KB | Output is correct |
7 | Correct | 1364 ms | 8108 KB | Output is correct |
8 | Correct | 1267 ms | 8020 KB | Output is correct |
9 | Correct | 1256 ms | 8108 KB | Output is correct |
10 | Correct | 1445 ms | 8020 KB | Output is correct |
11 | Correct | 1437 ms | 8108 KB | Output is correct |
12 | Correct | 51 ms | 8020 KB | Output is correct |
13 | Correct | 85 ms | 8020 KB | Output is correct |
14 | Correct | 32 ms | 8124 KB | Output is correct |
15 | Correct | 259 ms | 8108 KB | Output is correct |
16 | Correct | 4 ms | 8020 KB | Output is correct |
17 | Correct | 1290 ms | 8108 KB | Output is correct |
18 | Correct | 1372 ms | 8108 KB | Output is correct |
19 | Correct | 1270 ms | 8104 KB | Output is correct |
20 | Correct | 1295 ms | 8104 KB | Output is correct |
21 | Correct | 1467 ms | 8124 KB | Output is correct |
22 | Correct | 1454 ms | 8108 KB | Output is correct |
23 | Correct | 4 ms | 8020 KB | Output is correct |
24 | Correct | 2753 ms | 8104 KB | Output is correct |
25 | Correct | 2897 ms | 8108 KB | Output is correct |
26 | Correct | 3304 ms | 8108 KB | Output is correct |
27 | Correct | 3582 ms | 8100 KB | Output is correct |
28 | Correct | 3410 ms | 8108 KB | Output is correct |
29 | Correct | 3453 ms | 8108 KB | Output is correct |
30 | Correct | 311 ms | 8108 KB | Output is correct |
31 | Correct | 859 ms | 8112 KB | Output is correct |
32 | Correct | 863 ms | 8104 KB | Output is correct |
33 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
34 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 311 ms | 8108 KB | Output is correct |
2 | Correct | 859 ms | 8112 KB | Output is correct |
3 | Correct | 863 ms | 8104 KB | Output is correct |
4 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 52 ms | 8020 KB | Output is correct |
2 | Correct | 85 ms | 8104 KB | Output is correct |
3 | Correct | 30 ms | 8020 KB | Output is correct |
4 | Correct | 275 ms | 8112 KB | Output is correct |
5 | Correct | 4 ms | 8020 KB | Output is correct |
6 | Correct | 1299 ms | 8104 KB | Output is correct |
7 | Correct | 1364 ms | 8108 KB | Output is correct |
8 | Correct | 1267 ms | 8020 KB | Output is correct |
9 | Correct | 1256 ms | 8108 KB | Output is correct |
10 | Correct | 1445 ms | 8020 KB | Output is correct |
11 | Correct | 1437 ms | 8108 KB | Output is correct |
12 | Correct | 51 ms | 8020 KB | Output is correct |
13 | Correct | 85 ms | 8020 KB | Output is correct |
14 | Correct | 32 ms | 8124 KB | Output is correct |
15 | Correct | 259 ms | 8108 KB | Output is correct |
16 | Correct | 4 ms | 8020 KB | Output is correct |
17 | Correct | 1290 ms | 8108 KB | Output is correct |
18 | Correct | 1372 ms | 8108 KB | Output is correct |
19 | Correct | 1270 ms | 8104 KB | Output is correct |
20 | Correct | 1295 ms | 8104 KB | Output is correct |
21 | Correct | 1467 ms | 8124 KB | Output is correct |
22 | Correct | 1454 ms | 8108 KB | Output is correct |
23 | Correct | 4 ms | 8020 KB | Output is correct |
24 | Correct | 2753 ms | 8104 KB | Output is correct |
25 | Correct | 2897 ms | 8108 KB | Output is correct |
26 | Correct | 3304 ms | 8108 KB | Output is correct |
27 | Correct | 3582 ms | 8100 KB | Output is correct |
28 | Correct | 3410 ms | 8108 KB | Output is correct |
29 | Correct | 3453 ms | 8108 KB | Output is correct |
30 | Correct | 311 ms | 8108 KB | Output is correct |
31 | Correct | 859 ms | 8112 KB | Output is correct |
32 | Correct | 863 ms | 8104 KB | Output is correct |
33 | Incorrect | 796 ms | 8140 KB | Output isn't correct |
34 | Halted | 0 ms | 0 KB | - |