啊啊啊一直70分!3,9,10WA
查看原帖
啊啊啊一直70分!3,9,10WA
329698
youdu666楼主2022/1/25 10:42

RT

#include<bits/stdc++.h>
using namespace std;
int n,m,i,a[1000001],l,r=-1,mid,s,sa;
int main()
{
	cin>>n>>m;
	for(i=1;i<=n;i++)
	cin>>a[i],r=max(r,a[i]);
	l=0;
	do
	{
		s=sa=0;
		mid=(l+r)>>1;
		for(i=1;i<=n;i++)
		{
			s+=a[i]-mid>0?a[i]-mid:0;
			sa+=a[i]+1-mid>0?a[i]+1-mid:0;
		}
		if(s>=m&&sa<m)
		{
			cout<<l-1<<endl;
			return 0;
		}
		if(s<m) r=mid-1;
		else l=mid+1;
		
	}while(l<=r);
	cout<<(l-1>0?l-1:0)<<endl;
}
2022/1/25 10:42
加载中...