Submission #96657

#TimeUsernameProblemLanguageResultExecution timeMemory
96657figter001Boxes with souvenirs (IOI15_boxes)C++14
100 / 100
493 ms196080 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e7+50; ll pre[maxn],suf[maxn]; long long delivery(int n, int k, int l, int p[]) { for(int i=0;i<n;i++){ pre[i] = 2ll*p[i]; if(i >= k)pre[i] += pre[i-k]; } for(int i=n-1;i>=0;i--){ suf[i] = 2ll*(l - p[i]); if(i + k < n)suf[i] += suf[i+k]; } ll ans = min(pre[n-1],suf[0]); if(k == n)ans = min(ans,l*1ll); for(int i=0;i<n-1;i++){ if(i+k+1 < n)ans = min(ans,pre[i] + l + suf[i+k+1]); else ans = min(ans,pre[i] + l); ans = min(ans,pre[i] + suf[i+1]); } 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...