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 <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
typedef long long ll;
int besthub(int n,int L,int pos[],ll b)
{
vector<ll> sum(n,0);
for(int i=0;i<n;i++) sum[i]=(i>0?sum[i-1]:0)+pos[i];
auto s=[&](int l,int r){return (sum[r]-(l>0?sum[l-1]:0));};
int res=0;
for(int i=0;i<n;i++)
{
int l=0,r=n;
while(l<r-1)
{
int m=(l+r)/2;
int cl=m/2;
int cr=(m+1)/2;
int x=i-cl;
int y=i+cr;
bool ok=0;
if(0<=x&&y<n) ok=(cl*ll(pos[i])-s(x,i-1)+s(i+1,y)-cr*ll(pos[i])<=b);
if(ok) l=m;
else r=m;
}
res=max(res,l+1);
}
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... |