Submission #1276886

#TimeUsernameProblemLanguageResultExecution timeMemory
1276886papauloBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
351 ms196760 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; using ll = long long; #define MAXN 10100100 ll dpl[MAXN]; ll dpr[MAXN]; void getDp(int N, int K, int p[], ll *dp) { dp[0]=0; for(int i=1;i<=N;i++) { dp[i]=dp[max(0, i-K)]+2LL*p[i-1]; } } ll delivery(int N, int K, int L, int p[]) { getDp(N, K, p, dpl); reverse(p, p+N); for(int i=0;i<N;i++) p[i]=L-p[i]; getDp(N, K, p, dpr); for(int i=K;i<=N;i++) { dpr[i]=min(dpr[i], dpr[i-K]+L); } ll ans=1e18L; for(int i=0;i<=N;i++) { ans=min(ans, dpl[i]+dpr[N-i]); } return ans; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...