제출 #1369479

#제출 시각아이디문제언어결과실행 시간메모리
1369479aleksandre쌀 창고 (IOI11_ricehub)C++20
0 / 100
0 ms344 KiB
#include<bits/stdc++.h>
#include"ricehub.h"
using namespace std;
#define int1 long long
int1 n;
int1 a[100005];
int1 pref[100005];
int1 mx = 1e15;
int1 get(int1 l, int1 r) {
    int1 mid = (l+r)/2;
    int1 b = pref[mid]-pref[l-1];
    int1 c = mid-l+1;
    int1 d = pref[r]-pref[mid];
    int1 e = r-mid;
    int1 res = (c*a[mid]-b) + (d-e*a[mid]);
    return res; 
}
int besthub(int R, int L, int X[], long long B) {
    n = R;
    for (int1 i = 0; i < n; i++) {
        a[i+1] = X[i];
    }
    pref[0] = 0;
    for (int1 i = 1; i <= n; i++) {
        pref[i] = pref[i-1] + a[i];
    }
    int1 ansl = -1;
    int1 ansr = -1;
    for (int1 i = 1; i <= n; i++) {
        int1 l = i, r = n;
        int1 idx = -1;
        while (l <= r) {
            int1 mid = (l+r)/2;
            if (get(i,mid) <= mx) {
                idx = mid;
                l = mid + 1;
            } else {
                r = mid - 1;
            }
        }
        if (ansr - ansl <= idx - i) {
            ansr = idx;
            ansl = i;
        }
    }
    return ansr-ansl+1;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…