Submission #198884

#TimeUsernameProblemLanguageResultExecution timeMemory
198884SakamotooBoxes with souvenirs (IOI15_boxes)C++14
70 / 100
2145 ms294024 KiB
#include "boxes.h"
#include<bits/stdc++.h>
using namespace std;

long long delivery(int n, int k, int l, int p[]) {
	long long dp1[n+100],dp2[n+100];
    long long jaw=1e18;
    dp1[0]=0;
    dp2[0]=0;
   // sort(p,p+n);
    for(int i=0; i<n; i++){
    	int x=i-k+1;
    	if(x<0){
    		int y=n-i-1;
    		dp1[i+1]=p[i]+min(p[i],l-p[i]);
    		dp2[i+1]=l-p[y]+min(p[y],l-p[y]);
		}else {
			int y=n-i-1;
			dp1[i+1]=dp1[x]+p[i]+min(p[i],l-p[i]);
			dp2[i+1]=dp2[x]+l-p[y]+min(p[y],l-p[y]);
		}
		//cout<<dp1[i+1]<<' '<<dp2[i+1]<<endl;
	}
	for(int i=0; i<=n; i++){
		jaw=min(jaw,dp1[i]+dp2[n-i]);
	}
	return jaw;
}
#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...