# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
109604 | Nodir_Bobiev | Boxes with souvenirs (IOI15_boxes) | C++14 | 0 ms | 0 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 <iostream>
using namespace std;
long long delivery( long long N, long long K, long long L, long long positions[] )
{
long long answer = 0;
int cnt = N, jnt = 0;
while( cnt ){
long long 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;
}
long long mnl = min( l, (r - l) + (L - r) );
long long 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
*/
/**/