제출 #991035

#제출 시각아이디문제언어결과실행 시간메모리
991035stdfloatRice Hub (IOI11_ricehub)C++17
68 / 100
1072 ms4444 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;

using ll = long long;

int besthub(int n, int L, int X[], ll B) {
    vector<ll> p(n);
    for (int i = 0; i < n; i++)
        p[i] = (i ? p[i - 1] : 0) + X[i];

    int mx = 0;
    for (int i = 0; i < n; i++) {
        for (int j = i; j < n; j++) {
            int x = (j - i) >> 1;
            if ((i & 1) == (j & 1)) {
                if ((ll)(x + 1) * X[i + x] - p[i + x] + (i ? p[i - 1] : 0) + p[j] - p[i + x] - (ll)x * X[i + x] > B) break;
            }
            else {
                int y = (X[i + x] + X[i + x + 1]) >> 1;
                if ((ll)(x + 1) * y - p[i + x] + (i ? p[i - 1] : 0) + p[j] - p[i + x] - (ll)(x + 1) * y > B) break;
            }

            mx = max(mx, j - i + 1);
        }
    }

    return mx;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...