Submission #1313522

#TimeUsernameProblemLanguageResultExecution timeMemory
1313522tsetsenbilegRice Hub (IOI11_ricehub)C++20
68 / 100
1095 ms1032 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pr = pair<int, int>;
#define pb push_back();
const int INF = 1e9+7;
ll n, l, k;

int besthub(int R, int L, int a[], long long B) {
  n = R; l = L; k = B;
  ll res = 0;
  vector<int> pref(n);
  for (int i = 0; i < n; i++) {
    ll cur = k, cnt = 1;
    ll l = i - 1, r = i + 1;
    while (l >= 0 && r < n) {
      ll lef = a[i] - a[l], rig = a[r] - a[i];
      if (cur - min(lef, rig) < 0) break;
      if (lef > rig) {
        cur -= rig;
        cnt++;
        r++;
      }
      else {
        cur -= lef;
        cnt++;
        l--;
      }
    }
    while (l >= 0) {
      int x = a[i] - a[l];
      if (cur - x < 0) break; 
      cur -= x;
      cnt++;
      l--;
    }
    while (r < n) {
      int x = a[r] - a[i];
      if (cur - x < 0) break;
      cur -= x;
      cnt++;
      r++;
    }
    res = max(res, cnt);
  }
  return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...