Submission #898804

#TimeUsernameProblemLanguageResultExecution timeMemory
898804Muhammad_AneeqRice Hub (IOI11_ricehub)C++17
17 / 100
69 ms1572 KiB
#include <algorithm>
#include "ricehub.h"
using namespace std;
int besthub(int n, int l, int a[], long long b)
{
	long long  ans=0;
	long long pre[n+1]={};
	for (long long  i=0;i<n;i++)
		pre[i+1]=pre[i]+a[i];
	for (long long  i=1;i<=n;i++)
	{
		long long  st=0,en=i;
		while (st+1<en)
		{
			long long  mid=(st+en)/2;
			long long z=pre[i]-pre[mid-1];
			z/=(i-mid+1);
			long long  f=lower_bound(a,a+i,z)-a;
			f++;
			long long g=((long long)(pre[i]-pre[f-1]))-z*((long long)(i-f+1));
			f--;
			g+=((long long)(f-mid+1))*z-(pre[f]-pre[mid-1]);
			if (g<=b)
				en=mid;
			else
			st=mid;	
		}
		ans=max(ans,i-en+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...