제출 #94654

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
946542019-01-22 06:47:13andy627쌀 창고 (IOI11_ricehub)C++17
100 / 100
220 ms2680 KiB
#include <stdio.h>
#include <algorithm>
#define LL long long
using namespace std;
LL sum[111111];
int besthub(int R,int L,int X[],LL B){
sum[0]=X[0];
for(int i=1;i<R;i++) sum[i]=sum[i-1]+X[i];
int ans=0;
for(int i=0;i<R;i++){
int s=1,e=L,m;
while(s<=e){
m=(s+e)>>1;
int sidx=lower_bound(X,X+R,X[i]-m)-X;
int eidx=upper_bound(X,X+R,X[i]+m)-X-1;
if((sum[eidx]-sum[i])-(LL)X[i]*(eidx-i)+(LL)X[i]*(i-sidx)-((!i?0:sum[i-1])-(!sidx?0:sum[sidx-1]))<=B) s=m+1;
else e=m-1;
}
int sidx=lower_bound(X,X+R,X[i]-e)-X;
int eidx=upper_bound(X,X+R,X[i]+e)-X-1;
int sidx2=lower_bound(X,X+R,X[i]-s)-X;
int eidx2=upper_bound(X,X+R,X[i]+s)-X-1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...