Submission #1217016

#TimeUsernameProblemLanguageResultExecution timeMemory
1217016Captain_GeorgiaRice Hub (IOI11_ricehub)C++20
100 / 100
9 ms584 KiB
#include "ricehub.h"

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int besthub (int N, int L, int arr[], ll B) {
    ll mid = 0, dist = 0, ans = 0;
    for (ll l = 0, r = 0;r < N;r ++) {
        dist += arr[r] - arr[mid];
        while (mid < r && (mid - l + 1) < (r - mid + 1)) {
            dist -= (r + l - mid * 2 - 1) * (arr[mid + 1] - arr[mid]);
            mid ++;
        }
        while (dist > B) {
            dist -= arr[mid] - arr[l];
            l ++;
            while (mid < r && (mid - l + 1) < (r - mid + 1)) {
                dist -= (r + l - mid * 2 - 1) * (arr[mid + 1] - arr[mid]);
                mid ++;
            }
        }
        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...