Submission #1224044

#TimeUsernameProblemLanguageResultExecution timeMemory
1224044moondarksideBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
0 ms324 KiB
#include<bits/stdc++.h>
using namespace std;


long long getCost(vector<long long>& Arr,int SubT,int k){
	long long cost=0;
	for(int i=Arr.size()-1-SubT;i>-1;i-=k){
		cost+=Arr[i]*2LL;
	}
	return cost;
}

long long delivery(int N,int K, int L, int* Pos){
	vector<long long> CostR;
	vector<long long> CostL;

	for(int i=0;i<N && Pos[i]<=L/2;i++){
		if(i<K){
			CostR.push_back(Pos[i]*2);
		}
		else {
			CostR.push_back(Pos[i-K]*2);
		}
	}
	for(int i=N-1;i>-1 && Pos[i]>L/2;i--){
		if(i>N-K-1){
			CostL.push_back((L-Pos[i])*2);
		}
		else {
			CostL.push_back((L-Pos[i+K])*2);
		}
	}
	
	
	long long minC=1<<60;
	for(int loopS=0;loopS<=K;loopS++){
		int loopSR=K-loopS;
		long long cost=0;
		if((int)CostR.size()<loopSR){

		}
		else if((int)CostL.size()<loopS){
			
		}
		else{
			cost=CostR[CostR.size()-loopSR-1]+CostL[CostL.size()-loopS-1]+L;
			if(cost<minC){
			minC=cost;
		}
		}
		
	}
	return min(CostR[CostR.size()-1]+CostL[CostL.size()-1],minC);

}

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:35:25: warning: left shift count >= width of type [-Wshift-count-overflow]
   35 |         long long minC=1<<60;
      |                        ~^~~~
#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...