This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "boxes.h"
#include<bits/stdc++.h>
using namespace std;
class pont{
public:
	int elotte;
	int utana;
	int hely;
	
	long long vissza;
	
	long long elolrol;
	long long hatulrol;
};
vector<pont> p;
long long delivery(int n, int k, int l, int in[]) {
	p.resize(n+1);
	for(int i=0;i<=n;i++){
		p[i].elotte = (i-1+n+1)%(n+1);
		p[i].utana = (i+1)%(n+1);
	}
	p[0].hely=0;
	for(int i=1;i<=n;i++){
		p[i].hely=in[i-1];
	}
	long long eddig=0; 
	for(int i=1;i<=n;i++){
		p[i].vissza= min (
			p[i].hely, l-p[i].hely
		);
		//cout << i << ':' << p[i].vissza << '\t';
		/*if((i-1)%k==0){
			eddig+=p[i].hely+p[i].vissza;
			p[i].elolrol=eddig;
		} else {
			eddig+=p[i].hely-p[p[i].elotte].hely;
			p[i].elolrol=eddig+p[i].vissza;
		}
		cout << i << ' ' << p[i].elolrol << '\n';*/
		if(i%k==0){
			eddig+=p[i].hely-p[p[i].elotte].hely+p[i].vissza;
			p[i].elolrol=eddig;
		} else if(i%k==1){
			eddig+=p[i].hely;
			p[i].elolrol=eddig+p[i].vissza;
		} else {
			eddig+=p[i].hely-p[p[i].elotte].hely;
			p[i].elolrol=eddig+p[i].vissza;
		}
		//cout << i << ' ' << (n-i-1+k)%k << ' ' << eddig << ' ' << p[i].elolrol << '\n';
	}
	eddig=0;
	p[0].hely=l;
	for(int i=n;i>0;i--){
		if((n-i-1+k)%k==0){
			eddig+=p[p[i].utana].hely-p[i].hely+p[i].vissza;
			p[i].hatulrol=eddig;
		} else if((n-i-1+k)%k==1){
			eddig+=l-p[i].hely;
			p[i].hatulrol=eddig+p[i].vissza;
		} else {
			eddig+=p[p[i].utana].hely-p[i].hely;
			p[i].hatulrol=eddig+p[i].vissza;
		}
		//cout << i << ' ' << (n-i-1+k)%k << ' ' << eddig << ' ' << p[i].hatulrol << '\n';
	}
	long long mn= LLONG_MAX;
	for(int i=0;i<=n;i++){
		mn = min(p[i].elolrol+p[p[i].utana].hatulrol,mn);
	}
return mn;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |