70分求助
查看原帖
70分求助
1508201
liangyuxuan811楼主2025/1/13 14:37
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000010],t;
bool shu(int x){
	int ans=0;
	for(int i=1;i<=n;i++){
		long long p=0;
		ans+=max(p,a[i]-x);
	}
	return ans>=m;
}
int main(){
	cin>>n>>m;
	long long ma=INT_MIN;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		ma=max(ma,a[i]);
	}
	int l=1,r=ma+1,mid;
	while(l<=r){
		mid=(l+r)/2;
		if(shu(mid)){
			l=mid+1;
		}
		else{
			r=mid-1;
		}
		
	}
	cout<<r; 
}
2025/1/13 14:37
加载中...