제출 #534874

#제출 시각아이디문제언어결과실행 시간메모리
534874Gurban쌀 창고 (IOI11_ricehub)C++17
100 / 100
25 ms2856 KiB
#include "bits/stdc++.h" #include "ricehub.h" using namespace std; using ll = long long; const int maxn=1e5+5; ll p[maxn],b; int a[maxn]; bool check(int l,int r){ int md = (l + r) >> 1; ll val = 1ll * a[md] * (md - l); if(md-1 >= 0) val -= p[md-1]; if(l-1 >= 0) val += p[l-1]; val += p[r] - p[md]; val -= 1ll * a[md] * (r - md); return (val <= b); } int besthub(int R, int L, int X[], long long B){ for(int i = 0;i < R;i++) a[i] = X[i]; b = B; p[0] = X[0]; for(int i = 1;i < R;i++) p[i] = p[i - 1] + X[i]; int ans = 1; for(int i = 0;i < R;i++){ int l = 0,r = i - 1,md,jg=i; while(l <= r){ md = (l + r) >> 1; if(check(md,i)) jg=md,r=md-1; else l=md+1; } ans = max(ans,i-jg+1); } return ans; } // 5 20 6 1 2 10 12 14 3
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...