Submission #1182895

#TimeUsernameProblemLanguageResultExecution timeMemory
1182895boclobanchatRice Hub (IOI11_ricehub)C++20
100 / 100
8 ms1352 KiB
#include"ricehub.h"
#include<bits/stdc++.h>
using namespace std;
int besthub(int n,int L,int X[],long long B)
{
	int l=1,r=n,ans=0;
	vector<long long> pref(n+1);
	for(int i=0;i<n;i++) pref[i+1]=pref[i]+X[i];
	while(l<=r)
	{
		int mid=(l+r)/2,md=(mid+1)/2;
		long long mn=1e18;
		for(int i=0;i+mid<=n;i++)
		{
			long long sum=0;
			sum+=X[i+md-1]*md-pref[i+md]+pref[i];
			sum+=pref[i+mid]-pref[i+md]-X[i+md-1]*(mid-md);
			mn=min(mn,sum);
		}
		if(mn<=B) l=mid+1,ans=mid;
		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...