Submission #1198275

#TimeUsernameProblemLanguageResultExecution timeMemory
1198275pensiveBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
0 ms400 KiB
#include <bits/stdc++.h>

using namespace std;
#define ll long long
#define REP(a,i,n) for (ll i=a;i<n;i++)

const int mx = 1e7;

ll pre[mx+1], suf[mx+1];
ll delivery(int N, int K, int l, int positions[]) {
    ll L = l;
    REP(0, i, N) {
        pre[i] = pre[i] + 2*positions[i];
        if (i>=K) {
            pre[i] += pre[i-K];
        }
    }
    ll ans = 1e18;
    for (int i=N-1;i>=0;i--) {
        suf[i] = min((ll)suf[i] + 2*(L-positions[i]), L);
        if (i <= N-K-1) {
            suf[i] += suf[i+K];
        }
        ans = min(ans, ((i==0) ? 0 : pre[i-1])+suf[i]);
    }
    /*REP(0,i,N) {
        cout << pre[i] << "\t" << suf[i] << endl;
    }*/
    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...