Submission #1236621

#TimeUsernameProblemLanguageResultExecution timeMemory
1236621fauntleroyRice Hub (IOI11_ricehub)C++20
Compilation error
0 ms0 KiB
#include <iostream>
#include <cstdio>
#include <vector>
#include <array>
#include <string>
#include <algorithm>
#include <numeric>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <queue>
#include <cmath>
#include <climits>
#include <iomanip>
#include <limits>
#include <tuple>
#include <stack>
#include <bitset>
#include <cstring>
#include <sstream>
#include <functional>
#include <random>
#define int long long
using namespace std;

int besthub(int R, int L, int* x, int b) {
    int n = R;
    vector<int> d(n - 1);
    for (int i = 0; i < n - 1; ++i)
        d[i] = x[i + 1] - x[i];
    vector<int> pref(n - 1, 0);
    pref[0] = d[0];
    for (int i = 1; i < n - 1; ++i)
        pref[i] = pref[i - 1] + d[i];

    int l = 0, r = n;
    int ans = 0;
    while (l <= r) {
        int k = (l + r) >> 1;
        --k;
        int l1 = 0, r1 = n - k - 1;
        int mn = 1e9;
        for (int i = 0; i < n - k; ++i) {
            int s = pref[i + k - 1] - (i > 0 ? pref[i - 1] : 0);
            if (s < mn) {
                l1 = i, r1 = i + k - 1;
                mn = s;
            }
        }
        int pos = (l1 > 0 ? pref[l1 - 1] : 0) + 1 + mn / 2;
        int d = 0;
        for (int i = l1; i < r1 + 1; ++i)
            d += abs(pos - x[i]);

        if (d > b)
            r = k - 1;
        else
            l = k + 1, ans = max(ans, k + 1);
    }
    return ans;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccEzZRal.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