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 <bits/stdc++.h>
#include <boxes.h>
using namespace std;
using ll = long long;
long long delivery(int N, int K, int L, int p[]){
// SUBTASK 1
if(K == 1){
ll ans = 0;
for(int i=0; i<N; ++i){
ans += min(p[i], L - p[i]) * 2;
}
return ans;
}
// SUBTASK 2
if(K == N){
ll ans = 2e9+5;
sort(p, p+N);
// opcion 1 - desde izquierda voy y regreso hasta el final
ans = p[N-1] * 2;
// opcion 2 - desde derecha voy y regreso hasta el comienzo
ans = min(ans, (L - p[0])*2ll);
// opcion 3 - vuelta completa
ans = min(ans, 1ll*L);
// opcion 4 - voy por la izquierda hasta cierto punto, vuelvo y voy desde la derecha hasta donde me faltaba
if(N > 1){
for(int i=0; i+1<N; ++i){
ll x = p[i];
ll y = p[i+1];
ans = min(ans, 2*x + 2*(L - y));
}
}
return ans;
}
return 0;
}
# | 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... |