Submission #16231

#TimeUsernameProblemLanguageResultExecution timeMemory
16231ggohRice Hub (IOI11_ricehub)C++98
100 / 100
25 ms4988 KiB
#include "ricehub.h"
#include<cstdio>
int besthub(int R,int L,int *X,long long B)
{
    int ch,p,q,h,i;
    long long s;
    p=0;q=R+1;
    while(p!=q-1)
    {
        h=(p+q)/2;
        s=0;
        ch=0;
        for(i=h/2;i<h;i++)
        {
            s+=(long long)(X[i]-X[h-1-i]);
        }
        if(s<=B)ch=1;
        for(i=h;i<R&&ch==0;i++)
        {
            s+=(long long)(X[i]-X[i-h/2]);
            s-=(long long)(X[i-h+h/2]-X[i-h]);
            if(s<=B)ch=1;
        }
        if(ch)p=h;
        else q=h;
    }
    return p;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...