Submission #1216955

#TimeUsernameProblemLanguageResultExecution timeMemory
1216955lizi14Rice Hub (IOI11_ricehub)C++20
0 / 100
0 ms320 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;

int besthub(int R, int L, int X[], long long B)
{
    //vector<int>v;
    
    long long ps[R];
    
    for(int i=0; i<R; i++){
        //v.push_back(X[i]);
        ps[i]=X[i];
        
        if(i>0){
            ps[i]+=ps[i-1];
        }
    }
    
    int l=0,r=R-1;
    int bati=0;
    while(l<=r){
        int mid=(l+r)/2;
        long long ans=1e18;
        for(int i=mid/2; i<R-mid/2; i++){
            long long ans1=(mid/2)*X[i]-(ps[i]-ps[0])*(mid/2);
            ans1+=(ps[i+mid/2]-ps[i])*(mid/2)-(mid/2)*X[i];
            ans=min(ans1,ans);
        }
        if(ans>B){
            r=mid-1;
            bati=mid;
        }
        else{
            l=mid+1;
            
        }
    }
    return bati;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...