Submission #1199725

#TimeUsernameProblemLanguageResultExecution timeMemory
1199725gugugRice Hub (IOI11_ricehub)C++20
100 / 100
7 ms584 KiB
#include "ricehub.h"
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
int besthub(int n, int nigger, int arr[], ll money) {
  ll l = 0, mid = 0, dist = 0;
  int ans = 0;
  for (ll r = 0; r < n; r++) {
    dist += arr[r] - arr[mid];
    while (mid < r && (mid - l + 1) <= (r - mid)) {
      dist -= (r + l - mid * 2 - 1) * (arr[mid + 1] - arr[mid]);
      mid++;
    }
    while (dist > money) {
      dist -= arr[mid] - arr[l];
      l++;
      while (mid < r && (mid - l + 1) <= (r - mid) ) {
        dist -= (r + l - mid * 2 - 1) * (arr[mid + 1] - arr[mid]);
        mid++;
      }
    }
    ans = max(ll(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...