#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
#define MAXN 100001
long long x[MAXN],pref[MAXN];
int besthub(int r,int l,int X[],long long b)
{
for (int i=1;i<=r;i++) {x[i]=X[i-1];pref[i]=pref[i-1]+x[i];}
int pointer=1,ans=0;
for (int i=1;i<=r;i++)
{
while (pointer<i)
{
int duzina=(i-pointer+1)%2,pozicija=-1;
if (duzina%2==1) pozicija=x[(i+pointer)/2];
else pozicija=(x[(i+pointer)/2]+x[(i+pointer+2)/2])/2;
long long levo=(long long)(duzina/2)*pozicija-(pref[(i+pointer)/2]-pref[pointer-1]);
long long desno=(pref[i]-pref[(i+pointer)/2])-(long long)(duzina/2)*pozicija;
if (levo+desno<=b) break;
else pointer++;
}
ans=max(ans,i-pointer+1);
}
return ans;
}
# | 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... |