#include<iostream>
#include "ricehub.h"
using namespace std;
long long pr[100005];
int besthub(int R, int L, int X[], long long B)
{
pr[0]=X[0];
for(int i=1;i<R;i++)
pr[i]=pr[i-1]+X[i];
long long le,l,r,bud,bx,prl,prr,md=0;
for(int ri=0;ri<R;ri++)
{
l=0;r=ri;
while(l<=r)
{
le=(l+r)/2;
bx=(ri+le)/2;
prl=0;
if(le>0 && bx>0)
prl=(pr[bx-1]-pr[le-1]);
else if(bx>0)
prl=pr[bx-1];
prr=pr[r]-pr[bx];
bud=X[bx]*(bx-le)-prl+prr-X[bx]*(ri-bx);
if(bud>B)
r=le-1;
else l=le+1;
}
md=max(md,(ri-le));
}
return md;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
3 ms |
596 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |