Submission #1355206

#TimeUsernameProblemLanguageResultExecution timeMemory
1355206toast12Boxes with souvenirs (IOI15_boxes)C++20
10 / 100
1 ms344 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

long long delivery(int N, int K, int L, int p[]) {
    vector<ll> cw(N), ccw(N);
    for (int i = 0; i < N; i++) {
        if (i >= K) cw[i] = cw[i-K]+p[i]*2;
        else cw[i] = 2*p[i];
    }
    for (int i = N-1; i >= 0; i--) {
        if (N-i-1 >= K) ccw[i] = (L-p[i])*2+ccw[i+K];
        else ccw[i] = (L-p[i])*2;
    }
    ll ans = min(cw[N-1], ccw[0]);
    for (int i = 0; i < N-1; i++) ans = min(ans, cw[i]+ccw[i+1]);
    if (K == N) ans = min(ans, 1ll*L);
    else ans = min({ans, cw[K]+L, ccw[N-K-1]+L});
    for (int i = 0; i < N-K-1; i++) ans = min(ans, cw[i]+L+ccw[i+K+1]);
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...