Submission #905174

#TimeUsernameProblemLanguageResultExecution timeMemory
905174VMaksimoski008Boxes with souvenirs (IOI15_boxes)C++14
100 / 100
443 ms196248 KiB
#include <iostream>
#include "boxes.h"

using namespace std;
using ll = long long;

ll min(ll a, ll b) { return (a < b ? a : b); }

ll delivery(int N, int K, int L, int pos[]) {
    ll left[N], right[N];

    for(int i=0; i<N; i++) {
        left[i] = pos[i] + min(pos[i], L - pos[i]) + (i < K ? 0 : left[i-K]);
        right[N-1-i] = L - pos[N-1-i] + min(pos[N-1-i], L - pos[N-1-i]) + (i < K ? 0 : right[N-1-i+K]);
    }

    ll ans = min(left[N-1], right[0]);
    for(int i=0; i<N-1; i++)
        ans = min(ans, left[i] + right[i+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...