Submission #1186140

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

#define ll long long
#define M 200005

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