제출 #799540

#제출 시각아이디문제언어결과실행 시간메모리
799540Liudas쌀 창고 (IOI11_ricehub)C++17
68 / 100
1084 ms2444 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;
int besthub(int N, int L, int arr[], long long B){
    vector<int> brr;
    for(int i = 0; i < N; i ++){
        brr.push_back(arr[i]);
    }
    int l = 0, r = N + 1;
    while(l + 1 < r){
        int mid = (l + r + 1) / 2;
        int best = 0;
        for(int i = 0; i < N - mid + 1; i ++){
            int t = arr[i + mid / 2], s = 0;
            long long T = B;
            //cout <<"start   " <<  t << " " << T << " " << endl;
            for(int j = i; j < i + mid; j ++){
                //cout <<j <<" " << arr[j] << endl;
                if(T < abs(t - arr[j]))break;
                s++;
                T -= abs(t - arr[j]);
            }
            best = max(best, s);
        }
        //cout <<"ans " << best <<  " " << mid << endl;
        if(best == mid){
            l = mid;
        }
        else{
            r = mid;
        }
    }
    return l;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...