Submission #1163224

#TimeUsernameProblemLanguageResultExecution timeMemory
1163224kl0989eBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
344 ms196268 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pi pair<int, int>
#define pl pair<ll, ll>
#define vi vector<int>
#define vl vector<ll>
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(),(x).end()

long long delivery(int n, int k, int l, int p[]) {
    vl a(n+2,0);
    for (int i=0; i<n; i++) {
        a[i+1]=2*p[i];
        if (i>=k) {
            a[i+1]+=a[i-k+1];
        }
    }
    vl b(n+2,0);
    for (int i=n-1; i>=0; i--) {
        b[i+1]=2*(l-p[i]);
        if (i+k<n) {
            b[i+1]+=b[i+k+1];
        }
    }
    ll ans=1e18;
    for (int i=0; i<=n; i++) {
        ans=min(ans,a[i]+b[i+1]);
    }
    for (int i=0; i+k<=n; i++) {
        ans=min(ans,a[i]+l+b[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...