Submission #1349841

#TimeUsernameProblemLanguageResultExecution timeMemory
1349841ffeyyaae_Rice Hub (IOI11_ricehub)C++20
68 / 100
6 ms1136 KiB
#include "ricehub.h"

const int N = 1e5+5;

int besthub(int R, int L, int X[], long long B)
{
  int qs[N] = {0};
  for( int i=1;i<=R;i++ ) qs[i]=qs[i-1]+X[i-1];
  int l=1, r=R;
  while( l<r )
  {
    int mid = (l+r+1)/2;
    bool b = false;
    for( int i=1,j=mid;j<=R;i++,j++ )
    {
      int k = (i+j)/2;
      long long cost = ( (qs[j]-qs[k]-qs[k-1]+qs[i-1])+( X[k-1]*(2*k-i-j) ) );
      if( cost<=B )
      {
        b = true;
        break;
      }
    }
    if( b ) l=mid;
    else r=mid-1;
  }
  return l;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...