Submission #1186192

#TimeUsernameProblemLanguageResultExecution timeMemory
1186192AgageldiBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
332 ms196204 KiB
#include "bits/stdc++.h"
// #include "grader.cpp"
#include "boxes.h"
using namespace std;

#define ll long long
#define M 20000005

ll s[M], c[M], ans, mx;

long long delivery(int N, int K, int L, int p[]) {
    for(int i = 0; i < N; i++) {
        s[i] = p[i] * 2;
        if(i + 1 > K) s[i] += s[i - K];
    }
    for(int i = N - 1; i >= 0; i--) {
        c[i] = (L - p[i]) * 2;
        if(i + K < N) c[i] += c[i + K];
    }
    ans = c[0];
    for(int i = 0; i < N; i++) {
        ans = min(ans, s[i] + c[i + 1]);
    }
    for(ll i = 0; i < N; i++) {
        ll c1 = 0;
        if(i) c1 = s[i - 1];
        // for(ll j = i; j < N; j++) {
        //     ans = min(ans, c1 + ((j - i + K) / K) *L + c[j + 1]);
        // }
        ans = min(ans,c1 + L + c[i + K]);
    }
    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...