#include "ricehub.h"
#include "bits/stdc++.h"
using namespace std;
#define int long long
int32_t besthub(int32_t n, int32_t x, int32_t a[], int b) {
  int lo = 0, hi = x;
  while (lo + 100 < hi) {
    int mid1 = hi - (lo + lo + hi) / 3, mid2 = (lo + hi + hi) / 3;
    sort(a, a + n, [&](int i, int j) { return abs(i - mid1) < abs(j - mid1); });
    int cost1 = 0, cnt1 = 0;
    for (int i = 0; i < n; i++) {
      if (cost1 + abs(a[i] - mid1) <= b) {
        cost1 += abs(a[i] - mid1);
        cnt1++;
      }
    }
    sort(a, a + n, [&](int i, int j) { return abs(i - mid2) < abs(j - mid2); });
    int cost2 = 0, cnt2 = 0;
    for (int i = 0; i < n; i++) {
      if (cost2 + abs(a[i] - mid2) <= b) {
        cost2 += abs(a[i] - mid2);
        cnt2++;
      }
    }
    if (cnt1 <= cnt2) {
      lo = mid1;
    } else {
      hi = mid2;
    }
  }
  int ans = 0;
  for (int m = lo; m <= hi; m++) {
    sort(a, a + n, [&](int i, int j) { return abs(i - m) < abs(j - m); });
    int cost = 0, cnt = 0;
    for (int i = 0; i < n; i++) {
      if (cost + abs(a[i] - m) <= b) {
        cost += abs(a[i] - m);
        cnt++;
      }
    }
    ans = max(ans, cnt);
  }
  return ans;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |