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;
vector <int> a,b;
long long res;
long long delivery(int N, int K, int L, int p[]){
for (int i=0;i<N;i++)
if (p[i]<=L/2)
a.push_back(p[i]);
else
b.push_back(L-p[i]);
sort(a.begin(),a.end());
sort(b.begin(),b.end());
int i=(int)a.size()-1,j=(int)b.size()-1;
while (i>=0||j>=0){
if ((i<0?0:a[i]*2)+(j<0?0:b[j]*2)<=L){
if (j<0||(i>=0&&a[i]>b[j])){
res+=a[i]*2;
i-=K;
continue;
}
res+=b[j]*2;
j-=K;
continue;
}
int x=0,mx=0,tmp=K;
while (tmp--){
if (i<0&&j<0)
break;
if (j<0||(i>=0&&a[i]>b[j])){
mx=max(mx,a[i]);
i--;
x|=1;
continue;
}
mx=max(mx,b[j]);
j--;
x|=2;
}
if (x==3)
res+=L;
else
res+=mx*2;
}
return res;
}
# | 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... |