Submission #1211661

#TimeUsernameProblemLanguageResultExecution timeMemory
1211661m5588ohammedRice Hub (IOI11_ricehub)C++20
0 / 100
0 ms396 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
int pre[200001];
int sum(int l,int r){
	if(l>r) return 0;
	if(l==0) return pre[r];
	return pre[r]-pre[l-1];
}
int besthub(int R, int L, int X[], long long B)
{
	for(int i=0;i<R;i++){
		pre[i]=X[i];
		if(i!=0) pre[i]+=pre[i-1];
	}
	int ans=0;
	for(int i=0;i<R;i++){
		int l=i,r=R-1;
		while(l<=r){
			int mid=(l+r)/2;
			int pos=(l+mid)/2,val=X[pos],numl=pos-i,numr=mid-pos;
			if((numl*val-sum(i,pos-1))+(sum(pos+1,mid)-numr*val)<=B){
				ans=max(ans,mid-i+1);
				l=mid+1;
			}
			else r=mid-1;
		}
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...