Submission #56498

#TimeUsernameProblemLanguageResultExecution timeMemory
56498Bodo171Rice Hub (IOI11_ricehub)C++14
100 / 100
31 ms17032 KiB
#include "ricehub.h"
#include <iostream>
const int nmax=100005;
long long v[nmax],sum[nmax];
int i,p,mx;
long long S(int l,int r)
{
    return sum[r]-sum[l-1];
}
long long cost(int st,int dr)
{
    int poz=(st+dr)/2;
    return (1LL*(poz-st+1)*v[poz]-S(st,poz)+S(poz+1,dr)-1LL*(dr-poz)*v[poz]);
}
int besthub(int R, int L, int X[], long long B)
{
  for(i=1;i<=R;i++)
    sum[i]=X[i-1]+sum[i-1],v[i]=X[i-1];
  p=1;
  for(i=1;i<=R;i++)
  {
      while(cost(p,i)>B)
        p++;
      if(i-p+1>mx)
        mx=i-p+1;
  }
  return mx;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...