Submission #1198764

#TimeUsernameProblemLanguageResultExecution timeMemory
1198764eliiasgBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
1 ms780 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define LL long long

LL del(int N, int K, int L, vector<int> *p, int l, int r);
LL delivery(int N, int K, int L, int p[])
{
    vector<int> ps(N);
    for (size_t i = 0; i < N; i++)
    {
        ps[i] = p[i];
    }

    int m = K / 2;
    int r = 0;
    while (ps[r] <= L / 2)
        r += 1;
    int l = r - 1;
    LL score = del(N, K, L, &ps, l, r);
    l -= K;
    for (int i = 0; i < K; i++)
    {
        ++l;
        ++r;
        score = min(score, del(N, K, L, &ps, l, r) + L);
    }
    return score;
}

LL del(int N, int K, int L, vector<int> *p, int l, int r)
{
    LL s = 0;
    while (l >= 0)
    {
        s += (*p)[l] * 2;
        l -= K;
    }
    while (r < (*p).size())
    {
        s += (L - (*p)[r]) * 2;
        r += K;
    }
    return s;
}
#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...