제출 #1270983

#제출 시각아이디문제언어결과실행 시간메모리
1270983cmiuc쌀 창고 (IOI11_ricehub)C++20
컴파일 에러
0 ms0 KiB
#include <iostream> #include <algorithm> #include "ricehub.h" using namespace std; long long suf[1<<17], pre[1<<17]; int besthub(int n, int L, int x[], int B){ for (int i=n-1;i>=0;i--) suf[i] = suf[i + 1] + x[i]; int Ans = 0; for (int i=0;i<n;i++){ pre[i] = (i == 0 ? 0 : pre[i-1]) + x[i]; long long l = -1, r = L + 1, lft, rgt, cst; while (l + 1 < r){ int mid = (l + r) / 2; int k2 = upper_bound(x + i, x + n, x[i] + mid) - x; int k1 = upper_bound(x, x + n, x[i] - mid - 1) - x; long long nB = (suf[i] - suf[k2]) - (k2 - i) * x[i]; nB = 1LL * (i - k1 + 1) * x[i] - (pre[i] - (k1 == 0 ? 0 : pre[k1-1])) + nB; // if (i == 2) // cout<<x[i]<<" "<<l<<" "<<r<<" "<<k1<<" "<<k2<<" "<<nB<<endl; if (nB <= B) l = mid, lft = k1, rgt = k2, cst = nB; else r = mid; } long long mn = B + 1; if (lft > 0) mn = x[i] - x[lft - 1]; if (rgt < n) mn = min(mn, 0LL + x[rgt] - x[i]); // cout<<i<<" "<<l<<" "<<lft<<" "<<rgt<<" "<<cst<<" "<<mn<<endl; Ans = max(Ans + 0LL, rgt - lft + (B - cst) / mn); } return Ans; }

컴파일 시 표준 에러 (stderr) 메시지

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