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 <iostream>
using namespace std;
long long delivery( int N, int K, int L, int positions[] )
{
long long answer = 0;
int cnt = N, jnt = 0;
while( cnt ){
int l = 0, r = 0;
if( cnt >= K ){
l = positions[ jnt ];
r = positions[ jnt + K - 1 ];
jnt += K;
cnt -= K;
}
else{
l = positions[ jnt ];
r = positions[ jnt + cnt - 1 ];
jnt += cnt;
cnt = 0;
}
int mnl = min( l, (r - l) + (L - r) );
int mnr = min( (L - r), (r - l) + l );
answer += min( (L - r) + (r - l) + mnl, l + (r - l) + mnr );
}
return answer;
}
/*
int main()
{
int N, K, L, positions[1000];
cin >> N >> K >> L;
for ( int i = 0; i < N; i ++ ){
cin >> positions[i];
}
cout << delivery( N, K, L, positions );
return 0;
}
/*
3 2 8
1 2 5
*/
/**/
Compilation message (stderr)
boxes.cpp:45:1: warning: "/*" within comment [-Wcomment]
/*
# | 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... |