# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
247649 | 2020-07-11T19:32:07 Z | davi_bart | 쌀 창고 (IOI11_ricehub) | C++14 | 0 ms | 0 KB |
#pragma GCC optimize("O3") #include <bits/stdc++.h> #include "ricehub.h" using namespace std; typedef long long ll; #define int ll mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int besthub(int R, int L, int X[], long long B){ int sx=0,dx=R+1; while(sx<dx-1){ int m=(sx+dx)/2; ll tot=0; ll mi=1e18; int pos=m/2; for(int i=0;i<m;i++){ tot+=abs(X[i]-X[pos]); } mi=min(mi,tot); for(int i=m;i<R;i++){ pos++; tot+=m/2*(X[pos]-X[pos-1]); tot-=(m+1)/2*(X[pos]-X[pos-1]); tot+=X[i]-X[pos]; tot-=X[pos]-X[i-m]; mi=min(mi,tot); } if(mi<=B)sx=m; else dx=m; } return sx; }