Submission #1258341

#TimeUsernameProblemLanguageResultExecution timeMemory
1258341ereringBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
461 ms196108 KiB
#include <bits/stdc++.h> #include "boxes.h" using namespace std; #define ll long long #define pb push_back const int MAXN=1e7+5; long long pref[MAXN],suff[MAXN]; long long delivery(int N, int K, int L, int p[]) { sort(p,p+N); for(int i=0;i<N;i++){ if(i<K)pref[i]=p[i]; else pref[i]=pref[i-K]+p[i-K]+p[i]; } long long ans=pref[N-1]+min(p[N-1],L-p[N-1]); for(int i=N-1;i>=0;i--){ if(i>=N-K)suff[i]=L-p[i]; else suff[i]=suff[i+K]+L-p[i+K]+L-p[i]; ans=min(ans,suff[i]+min(p[i],L-p[i])+(i>0?pref[i-1]+min(p[i-1],L-p[i-1]):0)); } 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...