제출 #405360

#제출 시각아이디문제언어결과실행 시간메모리
405360Andyvanh1Rice Hub (IOI11_ricehub)C++14
100 / 100
27 ms2500 KiB
#include <iostream>
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>

using namespace std;

#define vt vector
#define pb push_back
#define all(x) x.begin(),x.end()

typedef vt<int> vi;
typedef long long ll;
typedef pair<int,int> pii;

ll prefsum[100005];

int besthub(int r, int l, int x[], ll b){
    prefsum[0] = 0;
    for(int i = 1; i <= r; i++){
        prefsum[i] = prefsum[i-1]+x[i-1];
    }
    int ans = 1;
    for(int i = 0; i < r; i++){
        int L = i;
        int R = r;
        while(L!=R) {
            int j = (L+R)>>1;

            int mid = (i + j) >> 1;
            ll n = (ll) x[mid] * (2 * mid - j - i + 1) - (prefsum[mid + 1] - prefsum[i]) +
                   (prefsum[j + 1] - prefsum[mid + 1]);
            if (n <= b) {
                L = j+1;
            }else{
                R = j;
            }
        }
        ans = max(ans,R-i);

    }
    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...