Submission #1200564

#TimeUsernameProblemLanguageResultExecution timeMemory
1200564PlayVoltzRice Hub (IOI11_ricehub)C++20
68 / 100
8 ms1604 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> vect, psum;

int cost(int l, int r){
	int m=(l+r)/2;
	return psum[r]-psum[m]-vect[m]*(r-m)+vect[m]*(m-l+1)-psum[m]+psum[l-1];
}

int besthub(int n, int L, int arr[], long long b){
	vect.clear();
	psum.clear();
	vect.resize(n+1);
	psum.resize(n+1, 0);
	for (int i=1; i<=n; ++i)vect[i]=arr[i-1], psum[i]=psum[i-1]+vect[i];
	int ans=0;
	for (int l=1, r=1; r<=n; ++r){
		while (cost(l, r)>b)++l;
		ans=max(ans, r-l+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...