제출 #137008

#제출 시각아이디문제언어결과실행 시간메모리
137008AyaBenSaad쌀 창고 (IOI11_ricehub)C++14
100 / 100
21 ms3320 KiB
#include <bits/stdc++.h>
#include "ricehub.h"

using namespace std;

int besthub(int R, int L, int X[], long long B){
  long long sum[R+2], a[R+2];
  sum[0] = 0, a[0] = 0;
  for (int i = 1; i <= R; i++) a[i] = X[i-1], sum[i] = sum[i-1] + a[i];
  int ans = 1;
  for (int l = 1; l <= R; l++) {
    for (int r = l+ans; r <= R; r++){
      int mid = (l+r) >> 1;
      long long costleft = (mid-l)*a[mid] - (sum[mid-1]-sum[l-1]);
      long long costright = (sum[r]-sum[mid]) - (r-mid)*a[mid];
      if(costleft + costright <= B) {ans = max(ans, r-l+1); continue;}
      break;
    }
  }
  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...