Submission #1360888

#TimeUsernameProblemLanguageResultExecution timeMemory
1360888waygonzRice Hub (IOI11_ricehub)C++20
0 / 100
0 ms344 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
#define ll long long

using namespace std;

int besthub(int N, int L, int X[], long long B) {
    vector<ll> a(N+1);
    for (int i = 1; i <= N; i++) a[i] = X[i-1];
    int l = 0, r = N;
    while (l < r) {
        int mid = (l + r + 1) / 2, idx = -1;
        ll mn = LLONG_MAX;
        for (int i = 1; i + mid - 1 <= N; i++) {
            ll d = a[i+mid-1] - a[i];
            if (d < mn) mn = d, idx = i;
        }
        vector<ll> t;
        for (int i = idx; i < idx + mid; i++) t.emplace_back(a[i]);
        int md = (t[mid/2] + t[(mid-1)/2]) / 2;
        ll cost = 0;
        for (auto &e : t) cost += abs(md - e);
        if (cost > B) r = mid - 1;
        else l = mid;
    }
    return l;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...