【水】二分求助
查看原帖
【水】二分求助
332549
幽灵特工楼主2021/3/31 17:18

砍树,40pts

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1000010];

bool check(int x){
	int ans=0;
	for(int i=1;i<=n;i++){
		if(a[i]>x)ans+=a[i]-x;
	}
	return ans>=m;
}

int main() {
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>a[i];
    int l=1,r=1000000000,mid;
    while(l<=r){
    	mid=(l+r)>>1;
    	if(check(mid))l=mid+1;
    	else r=mid-1;
	}
	cout<<r;
}
2021/3/31 17:18
加载中...