제출 #563308

#제출 시각아이디문제언어결과실행 시간메모리
5633081ne쌀 창고 (IOI11_ricehub)C++14
0 / 100
2 ms596 KiB
#include "ricehub.h"
#include<bits/stdc++.h>
using namespace std;
int besthub(int R, int L, int X[], long long B)
{
  int ans = 0;
  vector<int64_t>pref(R + 1,0),dpref(R + 1,0);
  for (int i = 0 ;i<R - 1;++i){
	  pref[i + 1] = pref[i] + (X[i + 1] - X[i]);
	  dpref[i + 2] = pref[i + 1] + dpref[i + 1];
  }
  //for (int i = 0;i<R;++i)cout<<dpref[i]<<" ";
  //cout<<'\n';
  //1 3 18 - 
  auto dist = [&](int l,int r){
	 return pref[r] * (r - l) - dpref[r] + dpref[l]<=B;
  };
  int l = 0,r = 0;
  while(l<=r && r < R){
	  if (r + 1 < R && dist(l,r + 1)){
		  ++r;
	  } 
	  else if (l + 1<=r) {
		  ++l;
	  }
	  else {
		l++;
		r = l;
	  }
	  ans = max(ans,r - l + 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...