Submission #1193089

#TimeUsernameProblemLanguageResultExecution timeMemory
1193089nuutsnoyntonRice Hub (IOI11_ricehub)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "ricehub.h" using ll = long long; using namespace std; ll pre_sum[100002]; ll range_sum(ll lo, ll hi) { if ( lo == 0) return pre_sum[hi]; return pre_sum[hi] - pre_sum[lo - 1]; } ll besthub(ll R, ll L, ll X[], long long B){ ll lo, hi, mid, lo1, hi1, lo2, hi2, sum; for (int i = 0; i < R; i ++) { if ( i == 0) pre_sum[i] = X[i]; else pre_sum[i] = pre_sum[i - 1] + X[i]; } ll s = 0; for (int i = 0; i < R; i ++) { lo = 0; hi = 1e9 + 1; while ( lo < hi) { mid = (lo + hi)/2; sum =0 ; lo1 = lower_bound(X, X + R, X[i] - mid) - X; hi1 = i; lo2 = i; hi2 = upper_bound(X, X + R, X[i] + mid) - X - 1; sum = sum + (hi1 - lo1 + 1) * X[i] - range_sum(lo1, hi1); sum = sum + range_sum(lo2, hi2) - (hi2 - lo2 + 1) * X[i]; if ( sum <= B) lo = mid + 1; else hi = mid; } lo --; mid = lo; sum =0 ; lo1 = lower_bound(X, X + R, X[i] - mid) - X; hi1 = i; lo2 = i; hi2 = upper_bound(X, X + R, X[i] + mid) - X - 1; sum = sum + (hi1 - lo1 + 1) * X[i] - range_sum(lo1, hi1); sum = sum + range_sum(lo2, hi2) - (hi2 - lo2 + 1) * X[i]; s = max(s, hi2 - lo1 + 1); } return s; }

Compilation message (stderr)

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