#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<ll>cord(100005);
ll suma(int mid){
ll mini=LLONG_MAX,sum=0;
int med=(mid-1)/2,med2=(mid-1)/2;
if(mid%2==1){
med2--;
}
for(int i=0;i<mid;i++){
ll comp=abs(cord[i]-cord[med]);
sum+=comp;
}
int p=mid-1;
while(cord[p]>0){
mini=min(mini,sum);
sum+=-cord[med+1]-cord[med2+1]+cord[p-mid+1]+cord[p+1];
med++;
med2++;
p++;
}
return mini;
}
int besthub(int n, int l, int x[], long long b) {
for(int i=0;i<n;i++){
cord[i]=x[i];
}
int p=1,k=n,mid=(n+1)/2;
while(k>=p){
if(suma(mid)>b){
k=mid-1;
}
else{
p=mid+1;
}
mid=(k+p)/2;
}
return p-1;
}
| # | 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... |