Submission #1316371

#TimeUsernameProblemLanguageResultExecution timeMemory
1316371warrennRice Hub (IOI11_ricehub)C++20
17 / 100
0 ms332 KiB
#include "ricehub.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long 

int besthub(int R, int L, int x[], ll B){
  sort(x,x+R);
  int l=1,r=R;
  int ans=0;

  ll pref[R+1];
  pref[0]=0;
  for(int q=1;q<=R;q++){
    pref[q]=pref[q-1]+x[q-1];
  }


  while(l<=r){
    int mid=(l+r)/2;

    bool yey=false;
    for(int q=mid;q<=R;q++){
      int posl=q-mid+1,tng=(posl+q)/2;

      ll cost=x[q-1]*((mid+1)/2)-(pref[tng]-pref[posl-1]);
      cost+=(pref[q]-pref[tng])-x[q-1]*(mid/2);

      if(cost<=B){
        yey=true;break;
      }
    }

    if(yey){
      ans=mid;
      l=mid+1;
    }
    else{
      r=mid-1;
    }

  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...