50pts 求调
查看原帖
50pts 求调
423520
wizard(偷开O2楼主2023/8/31 00:49
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define ll long long
int main(){
	ll n,m;
	cin >> n >> m;
	ll a[1000010];
    ll maxn=-1;
	for(int i=1;i<=n;i++){
		cin >> a[i];
        maxn=max(maxn,a[i]);
	}
	ll l=0,r=maxn;
	ll mid,h;
	while(l<=r){
	    mid=(r+l)/2;
	    h=0;
	    for(int i=1;i<=n;i++){
	        if(a[i]>mid){
	            h+=(a[i]-mid);
	        }
	    }
	    if(h<m){
	        r=mid-1;
	    }else{
	        l=mid+1;
	    }
	}
	cout << mid-1;
	return 0;
}
2023/8/31 00:49
加载中...