70分大佬求调
查看原帖
70分大佬求调
767042
Smart_Jason楼主2023/8/18 08:14
#include<cstdio>
#include<iostream>
using namespace std;
int n,m,mid,l,r,sum,ans,a[1000005],maxn=-1;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		maxn=max(maxn,a[i]);
	}
	l=0,r=maxn;
	while(l<=r){
		mid=(l+r)/2;
		sum=0;
		for(int i=1;i<=n;i++){
			if(a[i]>=mid){
				sum+=a[i]-mid;
			}
		}
		if(sum>=m){
			l=mid+1;
		}
		if(sum<m){
			r=mid-1;
		}
	}
	printf("%d",r);
}
2023/8/18 08:14
加载中...