Submission #1310376

#TimeUsernameProblemLanguageResultExecution timeMemory
1310376orgiloogiiRice Hub (IOI11_ricehub)C++20
100 / 100
8 ms1500 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
int besthub(int n, int m, int x[], long long b) {
#define int long long
    vector<long long> pref(n + 1);
    for (int i = 0; i < n; i++) {
        pref[i + 1] = pref[i] + x[i];
    }
    int res = 0;
    int l = 1;
    for (int r = 1;r <= n;r++) {
        while (l <= r) {
            int mid = (l + r) / 2;

            //cout << pref[mid - 1] - pref[l - 1] << " "  << pref[r] - pref[mid] << " " <<
             //   x[mid - 1] * (mid - l) - (pref[mid - 1] - pref[l - 1]) << " " << (pref[r] - pref[mid]) - x[mid - 1] * (r - mid) << endl;

            if (x[mid - 1] * (mid - l) - (pref[mid - 1] - pref[l - 1]) + (pref[r] - pref[mid]) - x[mid - 1] * (r - mid) <= b) {
                break;
            }
            l++;
        }
        res = max(res, r - l + 1);
        //pref[r] - pref[mid];
    }
    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...