제출 #493530

#제출 시각아이디문제언어결과실행 시간메모리
493530Leo121쌀 창고 (IOI11_ricehub)C++14
100 / 100
15 ms1764 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
typedef long long ll;
int besthub(int R, int L, int X[], long long B)
{
  int li = 0, ls = 0, mediana, res = 1, nueva_mediana;
    ll inversion = 0LL;
    while(ls < R - 1){
        ls ++;
        mediana = (li + ls) / 2;
        inversion += ((ll) X[ls] - (ll) X[mediana]);
        if(inversion <= B){
            res = std::max(res, ls - li + 1);
            continue;
        }
        while(inversion > B){
            inversion -= ((ll) X[mediana] - (ll) X[li]);
            nueva_mediana = (li + ls + 1) / 2;
            if(mediana != (li + ls + 1) / 2){
                inversion -= ((ll) X[nueva_mediana] - (ll) X[mediana]);
            }
            li ++;
            mediana = nueva_mediana;
        }
    }
    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...