Submission #1185809

#TimeUsernameProblemLanguageResultExecution timeMemory
1185809Warinchai선물상자 (IOI15_boxes)C++20
100 / 100
344 ms196380 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std; long long l[10000005]; long long r[10000005]; long long delivery(int N, int K, int L, int p[]) { //cerr<<"work\n"; for(int i=0;i<=N+1;i++)l[i]=r[i]=0; for(int i=1;i<=N;i++){ int prv=max(0,i-K); l[i]=l[prv]+p[i-1]*2; //cerr<<l[i]<<" "; } //cerr<<"\n"; for(int i=N;i>=1;i--){ int prv=min(N+1,i+K); r[i]=r[prv]+(L-p[i-1])*2; //cerr<<r[i]<<" "; } //cerr<<"\n"; //cerr<<"\n"; long long ans=LLONG_MAX; for(int i=0;i<=N;i++){ ans=min(ans,l[i]+r[i+1]); ///cerr<<i<<" "<<l[i]<<" "<<r[i+1]<<"\n"; } for(int i=0;i+K<=N;i++){ //cerr<<i<<" "<<l[i]+L+r[i+K+1]<<"\n"; ans=min(ans,l[i]+L+r[i+K+1]); } //cerr<<"work\n"; 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...