Submission #1327853

#TimeUsernameProblemLanguageResultExecution timeMemory
1327853arman.khachatryanRice Hub (IOI11_ricehub)C++20
100 / 100
8 ms1436 KiB
#include <bits/stdc++.h>
using namespace std;
long long besthub(int r, int l, int* a, long long b){
    long long pref[r+1];
    pref[0]=0;
    for(int i=1; i<=r; i++){
        pref[i]=pref[i-1]+a[i-1];
    }
    int j=0;
    long long cur, ans=1;
    for(int i=0; i<r; i++){
        while(j<=i){
            int mid=(i+j)/2;
            cur=1LL*(mid-j)*a[mid]-pref[mid]+pref[j];
            cur+=pref[i+1]-pref[mid+1]-1LL*(i-mid)*a[mid];
            
            if(cur>b){
                j++;
            }else{
                ans=max((i-j+1)*1LL, ans);
                break;
            }
        }
        
    }
    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...