제출 #1005841

#제출 시각아이디문제언어결과실행 시간메모리
1005841hacizadalRice Hub (IOI11_ricehub)C++17
0 / 100
8 ms2652 KiB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define pll pair<ll, ll>

int besthub(int n, int l, int a[], long long b)
{
    // 0 1 2 3 4 5
    ll mid = a[n/2];
    if (n%2==0){
        mid += a[n/2+1];
        mid /= 2;
    }
    ll sum = 0, ind = -1, mx = 0;
    for (ll i = n/2+1; i<n; i++){
        sum += a[i];
        if (sum - (i-n/2)*mid <= b){
            ind = i;
            mx = max(mx, i-(n/2+1)+1);
        }
        else {
            sum -= a[i];
            break;
        }
    }
    //     24    4    2   10
    b -= (sum - (ind-n/2)*mid);
    ll sum2 = 0;
    for (ll i = n/2; i>=0; i--){
        sum2 += a[i];
        if ((n/2-i+1)*mid - sum2 <= b){
            mx = max(mx, ind-i+1);
        }
        else {
            b += (a[ind] - mid);
            ind--;
            if ((n/2-i+1)*mid - sum2 <= b){
                mx = max(mx, ind-i+1);
            }
            else {
                break;
            }
            if (ind == n/2) break;
        }
    }
    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...