제출 #1329703

#제출 시각아이디문제언어결과실행 시간메모리
1329703Mamikonm1쌀 창고 (IOI11_ricehub)C++17
100 / 100
8 ms1372 KiB
#include "ricehub.h"
#include<bits//stdc++.h>
using namespace std;
using ll = long long;
int besthub(int R, int L, int X[], long long B)
{
    vector<ll>pf(R);
    pf[0]=X[0];
    int ans=0,r=0;
    for(int i=1;i<R;++i)pf[i]=pf[i-1]+X[i];
    auto sum=[&](int l,int r)->ll{
      if(l>r)return 0;
      if(r>=R)return 0;
      return pf[r]-(l?pf[l-1]:0);
    };
    auto cost=[&](int l,int r)->ll{
        int md=r+l>>1;
        return X[md]*1ll*(md-l+1)-sum(l,md)+sum(md+1,r)*1ll-(r-md)*1ll*X[md];
    };
    for(int i=0;i<R;++i){
        while(r+1<R and cost(i,r+1)<=B)++r;
        if(cost(i,r)<=B)ans=max(ans,r-i+1);
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...