Submission #1218255

#TimeUsernameProblemLanguageResultExecution timeMemory
1218255elotelo966Boxes with souvenirs (IOI15_boxes)C++20
10 / 100
0 ms328 KiB
#include <bits/stdc++.h>
#include "boxes.h"
using namespace std;

//#define int long long
#define OYY LLONG_MAX
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define fi first
#define se second
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define pb push_back
#define lim 200005

typedef long long lo;

lo dp1[lim],dp2[lim];

long long delivery(int N, int K, int L, int p[]) {
	lo cev=LLONG_MAX;
	
	for(int i=1;i<=N;i++){// baştan
		int l=max(0,i-K);
		dp1[i]=(lo)dp1[l]+p[i-1]+min(p[i-1],L-p[i-1]);
	}
	
	for(int i=N;i>=1;i--){
		int r=min(N+1,i+K);
		dp2[i]=(lo)dp2[r]+L-p[i-1]+min(p[i-1],L-p[i-1]);
	}
	
	for(int i=1;i<=N;i++){
		//cout<<dp1[i]<<" "<<dp2[i]<<endl;
		cev=min(cev,dp1[i]+dp2[i+1]);
	}
	
    return cev;
}

//~ int main(){
	//~ faster
	//~ int n,k,l;
	//~ cin>>n>>k>>l;
	//~ int dizi[n];
		
	//~ for(int i=0;i<n;i++)cin>>dizi[i];
	
	//~ cout<<delivery(n,k,l,dizi)<<'\n';
	
	//~ return 0;
//~ }
#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...