이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
bool verify(long long sum[], int r, int l, int x[], long long b, int nr)
{
int st, dr, mij;
long long total;
for(int i=1;i<=r-nr+1;i++)
{
st=i;
dr=i+nr-1;
mij=(st+dr)/2;
total=0;
total=total+x[mij-1]*(mij-st);
total=total-(sum[mij-1]-sum[st-1]);
total=total+(sum[dr]-sum[mij]);
total=total-x[mij-1]*(dr-mij);
if(total<=b)
return true;
}
return false;
}
int besthub(int r, int l, int x[], long long b)
{
long long sum[100005]={};
sum[0]=0;
for(int i=1;i<=r;i++)
sum[i]=sum[i-1]+x[i-1];
int st=1, dr=r+1, mij;
while(dr-st>1)
{
mij=(st+dr)/2;
if(verify(sum,r,l,x,b,mij))
st=mij;
else
dr=mij;
}
return st;
}
# | 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... |