Submission #1122635

#TimeUsernameProblemLanguageResultExecution timeMemory
1122635NewtonabcBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
462 ms197140 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std; const int N=1e7+10; long long dpa[N],dpb[N]; int n,k,l; long long delivery(int N, int K, int L, int p[]) { n=N,k=K,l=L; for(int i=0;i<n;i++){ int j=n-i-1; if(i-k>=0) dpa[i]=dpa[i-k]+2LL*(long long)p[i]; else dpa[i]=2LL*(long long)p[i]; if(j+k<n) dpb[j]=dpb[j+k]+2LL*(long long)(l-p[j]); else dpb[j]=2LL*(long long)(l-p[j]); } long long ans=min(dpa[n-1],dpb[0]); for(int i=0;i<n;i++){ int j=i+k-1; if(i+1<n) ans=min(ans,dpa[i]+dpb[i+1]); if(j<n) ans=min(ans,(i-1>=0?dpa[i-1]:0LL)+l+(j+1<n?dpb[j+1]:0LL)); } 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...