This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
vector <ll> arr;
ll RO(ll budget, ll idx) {
vector <int> pq;
for (ll x : arr) pq.push_back(abs(x-arr[idx]));
ll paks = 1, suma = 0, lb = idx-1, ub = idx+1;
while (lb >= 0 || ub < n) {
if (lb >= 0 && ub < n && pq[lb] <= pq[ub]) {
if (suma + pq[lb] <= budget) suma += pq[lb], lb--, paks++;
else break;
}
else if (lb >= 0 && ub < n && pq[lb] > pq[ub]) {
if (suma + pq[ub] <= budget) suma += pq[ub], ub++, paks++;
else break;
}
else if (lb >= 0) {
if (suma + pq[lb] <= budget) suma += pq[lb], lb--, paks++;
else break;
}
else if (ub < n) {
if (suma + pq[ub] <= budget) suma += pq[ub], ub++, paks++;
else break;
}
else {}
}
return paks;
}
int besthub(int R, int L, int X[], ll B) {
for (ll i=0; i<R; i++) arr.push_back((ll)X[i]);
n = R;
ll maxi = 0;
for (ll i=0; i<R; i++) {
maxi = max(maxi, RO(B, i));
}
return maxi;
}
# | 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... |