이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "ricehub.h"
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
using ll = long long;
int besthub(int n, int lllll, int X[], ll b)
{
    vector<ll> x(n);
    for (int i = 0; i < n; ++i) x[i] = X[i];
    sort(x.begin(), x.end());
    vector<ll> pref(n);
    partial_sum(x.begin(), x.end(), pref.begin());
    int maxRes = 0;
    for (int i = 0; i < n; ++i)
    {
        int l = 0, r = n - i;
        while (l < r)
        {
            int m = (l + r) >> 1;
            int e = i + m;
            int v = (i + e) >> 1;
            ll sum = pref[e] - pref[v];
            if (v != 0) sum -= pref[v - 1] - (i == 0 ? 0ll : pref[i - 1]);
            if (i % 2 != e % 2) sum -= x[v];
            if (sum <= b) l = m + 1;
            else r = m;
        }
        maxRes = max(maxRes, l);
    }
    return maxRes;
}
| # | 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... |