Submission #1247887

#TimeUsernameProblemLanguageResultExecution timeMemory
1247887LM1Rice Hub (IOI11_ricehub)C++20
100 / 100
13 ms1532 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;
ll B;
ll pr[N],ans=-1e18;
ll solve(int l,int X[],ll B,int R){
	int l1=l,r1=R;
	while(l1<r1){
		int mid=(l1+r1+1)/2,k=(l+mid)/2;
		if((ll)X[k-1]*(k-l+1)-(pr[k]-pr[l-1])+(pr[mid]-pr[k])-(mid-k)*(ll)X[k-1]>B)r1=mid-1;
		else l1=mid;
	}
	return l1-l+1;
}
int besthub(int R,int L,int X[],ll B){
	for(int i=0;i<R;i++)pr[i+1]+=pr[i]+X[i];
	for(int i=1;i<=R;i++)ans=max(solve(i,X,B,R),ans);
	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...