Submission #1248046

#TimeUsernameProblemLanguageResultExecution timeMemory
1248046nikdRice Hub (IOI11_ricehub)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include <istream> using namespace std; using ll = long long; ll besthub(int n, ll l, vector<ll> x, ll b){ int sol = 0; int idxl = 0; int idxr = 0; ll curr_cost = 0; while(idxr+1 < n && curr_cost+x[idxr+1]-x[0] <= b){ curr_cost += x[idxr+1] - x[0]; idxr++; } sol = idxr-idxl+1; for(int i = 1; i<n; i++){ ll delta = x[i]-x[i-1]; curr_cost += (i-idxl)*delta; curr_cost -= (idxr-i+1)*delta; if(idxr < i){ assert(idxr+1 == i); //idxr++; } while(curr_cost > b){ curr_cost -= x[i]-x[idxl]; idxl++; assert(idxl <= i); } while(idxr+1 < n && curr_cost+x[idxr+1]-x[i] <= b){ curr_cost += x[idxr+1] - x[i]; idxr++; } while(idxr+1 < n && x[idxr+1]-x[i] < x[i]-x[idxl]){ curr_cost -= x[i]-x[idxl]; curr_cost += x[idxr+1]-x[i]; idxl++; idxr++; } while(idxr+1 < n && curr_cost+x[idxr+1]-x[i] <= b){ curr_cost += x[idxr+1] - x[i]; idxr++; } sol = max(sol, idxr-idxl+1); } return sol; } // int main(){ // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); // int n; cin >> n; // ll b; cin >> b; // vector<ll> x(n); // for(ll &i: x) cin >> i; // cout << besthub(n, 0, x,b) << '\n'; // }

Compilation message (stderr)

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