Submission #1224006

#TimeUsernameProblemLanguageResultExecution timeMemory
1224006moondarksideBoxes with souvenirs (IOI15_boxes)C++20
25 / 100
0 ms328 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(1,0); vector<long long> CostL(1,0); for(int i=0;i<N && Pos[i]<=L/2;i++){ CostR.push_back(Pos[i]); } for(int i=N-1;i>-1 && Pos[i]>L/2;i--){ CostL.push_back(L-Pos[i]); } long long minC=10000000000000; int minCI=0; for(int loopS=0;loopS<=K;loopS++){ int loopSR=K-loopS; long long cost=0; if((int)CostR.size()-1<loopSR){ cost=10000000000000; } if((int)CostL.size()-1<loopS){ cost=10000000000000; } cost+=CostR[(CostR.size()-loopSR-1)%K]+CostL[(CostL.size()-loopS-1)%K]; if(cost<minC){ minC=cost; minCI=loopS; } } return min(getCost(CostR,0,K)+getCost(CostL,0,K),getCost(CostR,K-minCI,K)+getCost(CostL,minCI,K)+L); }
#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...