이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "ricehub.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll MAXN=1e5+6;
ll cc,le,re;
ll x[MAXN];
void add()
{
re++;
cc+=x[re]-x[le+(re-le)/2];
/*if((re-le)%2==0&&!(re==0&&le==0))
{
cc-=x[le+(re-le)/2]-x[le+(re-le)/2-1];
}*/
}
void rmv()
{
cc-=x[le+(re-le)/2]-x[le];
le++;
if((re-le)%2==0)
{
cc-=x[le+(re-le)/2]-x[le+(re-le)/2-1];
}
}
int besthub(int R, int L, int X[], long long B)
{
for(int i=0;i<R;i++)x[i]=X[i];
cc=0;
le=0,re=-1;
ll ans=0;
for(le=0;le<R;)
{
while(re+1<R&&cc<=B)
{
add();
//cout<<le<<" "<<re<<" "<<cc<<endl;
}
if(cc<=B)ans=max(ans,re-le+1);
else ans=max(ans,re-le);
rmv();
//cout<<le<<" "<<re<<" "<<cc<<endl;
}
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... |