Submission #1216889

#TimeUsernameProblemLanguageResultExecution timeMemory
1216889lukasuliashviliRice Hub (IOI11_ricehub)C++20
Compilation error
0 ms0 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
#define int long long
using namespace std;

bool can(int k, int R, long long B, const vector<int>& X, const vector<int>& prefix) {
    for (int i = 0; i + k - 1 < R; i++) {
        int j = i + k - 1;
        int mid = (i + j) / 2;

        int leftSum = (mid > 0 ? prefix[mid - 1] : 0) - (i > 0 ? prefix[i - 1] : 0);
        int rightSum = prefix[j] - prefix[mid];

        int leftCount = mid - i;
        int rightCount = j - mid;

        int leftCost = X[mid] * leftCount - leftSum;
        int rightCost = rightSum - X[mid] * rightCount;
        int totalCost = leftCost + rightCost;

        if (totalCost <= B)
            return true;
    }
    return false;
}

int besthub(int R, int L, int X_raw[], long long B) {
    vector<int> X(X_raw, X_raw + R);
    sort(X.begin(), X.end());

    vector<int> prefix(R);
    prefix[0] = X[0];
    for (int i = 1; i < R; i++) {
        prefix[i] = prefix[i - 1] + X[i];
    }

    int low = 1, high = R, best = 0;

    while (low <= high) {
        int mid = (low + high) / 2;
        if (can(mid, R, B, X, prefix)) {
            best = mid;
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }

    return best;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccHXC9ov.o: in function `main':
grader.cpp:(.text.startup+0xaa): undefined reference to `besthub(int, int, int*, long long)'
collect2: error: ld returned 1 exit status