#include<bits/stdc++.h>
#include "boxes.h"
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
#pragma GCC optimize("Ofast")
#define int long long
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int range_rng(int l, int r)
{
return uniform_int_distribution<int>(l,r)(rng);
}
int pos[10000005];
int cw[10000005];
int ccw[10000005];
int delivery(signed N, signed K, signed L, signed positions[])
{
int n,k,l,i,d,ans;
n=N;
k=K;
l=L;
for (i=0;i<n;i++)
{
if (i+1<=k)
cw[i]=positions[i]*2;
else
cw[i]=cw[i-k]+positions[i]*2;
}
for (i=n-1;i>=0;i--)
{
d=(l-1)-positions[i]+1;
if ((n-1)-i+1<=k)
ccw[i]=d*2;
else
ccw[i]=ccw[i+k]+d*2;
}
ans=ccw[0];
for (i=0;i<n;i++)
{
ans=min(ans,cw[i]+ccw[i+1]);
}
for (i=0;i+k-1<n;i++)
{
if (i==0)
ans=min(ans,l+ccw[i+k]);
else
ans=min(ans,cw[i-1]+l+ccw[i+k]);
}
return ans;
}
| # | 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... |