没输出,求调悬关
查看原帖
没输出,求调悬关
1252442
lucy2012楼主2024/3/19 18:57
#include<bits/stdc++.h>
using namespace std;
int n,m,h[1000010],ans,l=0,r=10000000;
int high(int mid){
	long long sum=0;
	for(int i=1;i<=n;i++){
		if(h[i]>mid)
		    sum+=h[i]-mid;
	}
	return sum>=m;
}
int find(int l,int r){
	while(l<=r){
		int mid=l+(r-l)>>1;
		if(high(mid)){
			ans=mid;
			l=mid+1;
		}else
		    r=mid-1;
	}
	return ans;
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
		cin>>h[i];
	cout<<find(l,r);
	return 0;
}	
2024/3/19 18:57
加载中...