#include "boxes.h"
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <algorithm>
using namespace std;
vector<int>st;
vector<int>dr;
long long dp1[10000001];
long long dp2[10000001];
long long delivery(int N, int K, int L, int p[])
{
int k=K,l=l;
for(int i=0;i<N;i++)
{
if(p[i]<=(L/2))
{
st.push_back(p[i]);
}
else
{
dr.push_back(p[i]);
}
}
reverse(dr.begin(),dr.end());
for(int i=1;i<=st.size();i++)
{
dp1[i]=dp1[max(i-k,0)]+2*st[i-1];
}
for(int i=1;i<=dr.size();i++)
{
dp2[i]=dp2[max(i-k,0)]+2*(l-dr[i-1]);
}
long long ans1=dp1[st.size()]+dp2[dr.size()];
for(int off=1;off<k;off++){
ans1=min(ans1,L+dp1[max((int)st.size()-off,0)]+dp2[max((int)dr.size()-(k-off),0)]);
}
return ans1;
}
| # | 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... |