# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
30702 | waleed_jubeh | 선물상자 (IOI15_boxes) | C++14 | 2 ms | 376 KiB |
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<algorithm>
#include<map>
using namespace std;
long long delivery(int N, int K, int L, int p[]) {
map<int,bool>visited;
int diameter=L/2;
long long int cost=0;
long long int remain=0;
long long visitor=0;;
bool x=false;
int temp=K;
long long pos=0;
for(int i=0;i<N;i++)
{
if(x==true){
if(!visited[p[i]])
{
temp--;
if(temp==0 ||i==N-1)
{
x=false;
}
visited[p[i]]++;
}
continue;
}
if(!visited[p[i]]){
if(p[i]>diameter){//after
if(abs(p[i]-cost)>cost+L-p[i])
{
cost+=(L-p[i]+cost)*2;
temp--;
x=true;
pos=p[i];
}else
{
cost+=p[i]-cost;
temp--;
}
}else{//before
cost+=p[i]-cost;
temp--;
}
visited[p[i]]++;
}
if(temp==0|| i==N-1){
if(L-p[i]<p[i])
cost+=L-p[i];
else
cost+=p[i];
temp=K;
}
}
return cost;
}
Compilation message (stderr)
# | 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... |