Submission #1285208

#TimeUsernameProblemLanguageResultExecution timeMemory
1285208xosqedemrufoRice Hub (IOI11_ricehub)C++20
100 / 100
9 ms1352 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int besthub(int r, int l, int x[], ll b){
    vector<ll> s(r+1,0);
    for(int i=0;i<r;i++){
        s[i+1] = s[i] + x[i];
    }
    int ans = 0;
    int i = 0;
    for(int j=0;j<r;j++){
        while(i <= j){
            int m = (i + j) >> 1;
            ll L = 1LL*x[m]*(m-i) - (s[m]-s[i]);
            ll R = (s[j+1]-s[m+1]) - 1LL*x[m]*(j-m);
            if(L+R <= b){
                break;
            } 
            else {
                i++;
            }
        }
        if(j-i+1 > ans){
            ans = j-i+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...