#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int, int>
#define pb push_back
#define F first
#define S second
#define ins insert
#define rep(i, a, b) for(int i = a; i <= b; i++)
#define fastio ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define int long long
int32_t besthub(int32_t cnt, int32_t mx, int32_t X[], int b){
    vector<int> x;
    rep(i, 0, cnt - 1) x.pb(X[i]);
    int l = 1, r = mx - 1;
    int best = 0;
    while(l <= r){
        int mid = (l + r) / 2;
        int cur1cost = 0;
        int cur1cnt = 0;
        sort(x.begin(), x.end(), [mid](int a, int b){
            return abs(a - mid) < abs(b - mid);
        });
        rep(i, 0, cnt - 1){
            if(cur1cost + abs(x[i] - mid) <= b){
                cur1cost += abs(x[i] - mid);
                cur1cnt++;
            }
        }
        int cur2cost = 0;
        int cur2cnt = 0;
        sort(x.begin(), x.end(), [mid](int a, int b){
            return abs(a - (mid + 1)) < abs(b - (mid + 1));
        });
        rep(i, 0, cnt - 1){
            if(cur2cost + abs(x[i] - (mid + 1)) <= b){
                cur2cost += abs(x[i] - (mid + 1));
                cur2cnt++;
            }
        }
        if(cur1cnt <= cur2cnt){
            best = max(best, cur2cnt);
            l = mid + 1;
        }else{
            best = cur1cnt;
            r = mid;
        }
    }
    return best;
}
| # | 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... |