Submission #1217735

#TimeUsernameProblemLanguageResultExecution timeMemory
1217735elotelo966Boxes with souvenirs (IOI15_boxes)C++20
20 / 100
0 ms528 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;

long long delivery(int N, int K, int L, int p[]) {
	lo cev=0;
	
	for(int i=0;i<N;i++){
		cev+=min(p[i],L-p[i])*2;
	}
	
	if(N==K){
		cev=L;
		sort(p,p+N);
		cev=min(cev,(lo)2ll*p[N-1]);
		cev=min(cev,(lo)2ll*(L-p[0]));
		lo cev2=0;
		lo m1=0,m2=0;
		for(int i=0;i<N;i++){
			if(p[i]<L/2)m1=max(m1,(lo)p[i]);
			else m2=max(m2,(lo)L-p[i]);
		}
		cev2=(m1+m2)*2;
		cev=min(cev,cev2);
	}
    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...