# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1247492 | Almonther | Rice Hub (IOI11_ricehub) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
#define ll long long
#define co cout<<
using namespace std;
// stuff
int besthub(int R,int L,int X[],ll B){
int mx=0;
ll pref[R+5]={},suff[R+5]={};
for(int i=0;i<R;i++) pref[i]=pref[abs(i-1)]+X[i];
for(int i=R-1;i>=0;i--) suff[i]=suff[i+1]+X[i];
for(int i=0;i<R;i++){
for(int j=R-1;j>=i;j--){
int mid=(i+j)/2;
ll sum=X[mid]*(mid-i+1)-pref[mid]+suff[mid]-X[mid]*(j-mid+1);
if(sum<=B) mx=max(mx,j-i+1);
}
}
return mx;
}
int main(){
int X[]={1,2,10,12,14};
co besthub(5,20,X,6);
}