Submission #430930

#TimeUsernameProblemLanguageResultExecution timeMemory
430930KalasLavasBoxes with souvenirs (IOI15_boxes)C++14
50 / 100
2073 ms29516 KiB
#include <bits/stdc++.h> #include "boxes.h" using namespace std; #define F first #define S second using ll = long long; using pii= pair<int,int>; using pll= pair<ll,ll>; int n,k,len,*p; ll ans=LLONG_MAX; ll pref[1000001], suff[1000001]; ll delivery(int _N, int _K, int _L, int _p[]) { n=_N; k=_K; len=_L; p=_p; for(int i=0;i<n;i++) pref[i] = (p[i]<<1) + (i<k?0:pref[i-k]); for(int i=n-1;i>=0;i--) suff[i] = ((len-p[i])<<1) + (i+k>n?0:suff[i+k]); for(int i=-1;i<n;i++) { for(int j=i+1;j<=n;j++) { ans = min(ans, (i==-1?0:pref[i]) + suff[j] + (1LL*j-1-i-1+k)/k*len); //cerr<<i<<' '<<j<<" - "<<pref[i]<<' '<<suff[j]<<' '<<(1LL*j-1-i-1+k)/k*len<<endl; } } return ans; } /* 4 8 8 3 4 5 6 4 8 9 3 4 5 6 3 2 8 1 2 5 */
#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...