| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1291848 | ziyad_alharbi | 쌀 창고 (IOI11_ricehub) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m,k;
cin>>n>>m>>k;
int l=1,r=n,md,sm[n]={},ans=0;
vector<int>a(n);
for(int x=0;x<n;x++)
{
cin>>a[x];
sm[x]=a[x];
if(x)sm[x]+=sm[x-1];
}
while(l<=r)
{
md=(r+l)/2;
int mn=LLONG_MAX,pn;
for(int x=md;x<n;x++)
{
pn=(x+(x-md))/2;
int s=0;
// cout<<md<<' '<<pn<<' '<<(pn-(x-md))*a[pn]<<' '<<sm[pn]-sm[x-md]<<' '<<(x-pn)*a[pn]<<' '<<sm[x]-sm[pn]<<'\n';
s+=((pn-(x-md))*a[pn])-(sm[pn]-sm[x-md]);
s+=(sm[x]-sm[pn])-((x-pn)*a[pn]);
mn=min(mn,s);
}
if(mn<=k)ans=md,l=md+1;
else r=md-1;
}
cout<<ans<<'\n';
}
