#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
int besthub(int n, int m, int arr[], long long k) {
vector<int> a(n);
for (int i = 0; i < n; i++) {
a[i] = arr[i];
}
int res = 0;
for (int i = 0; i < n; i++) {
multiset<int> s{a.begin(), a.end()};
s.erase(s.find(a[i]));
long long cur = 0;
int cnt = 0;
while (cur <= k) {
cnt++;
auto it1 = s.upper_bound(a[i]);
auto it2 = it1;
if (it1 == s.end()) {
it1--;
cur += abs(a[i] - *it1);
s.erase(it1);
}
else if (it1 == s.begin()) {
cur += abs(a[i] - *it1);
s.erase(it1);
}
else {
it1--;
if (abs(a[i] - *it1) < abs(a[i] - *it2)) {
assert(!s.empty());
s.erase(it1);
cur += abs(a[i] - *it1);
}
else {
assert(!s.empty());
s.erase(it2);
cur += abs(a[i] - *it2);
}
}
}
res = max(res, cnt);
}
return res;
}
# | 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... |