50分求调!!!
查看原帖
50分求调!!!
1343308
IAKIOI66666楼主2024/6/9 11:30
#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
#define MAX 10000000
using namespace std;
int n,k,a[MAX],l=0,r=MAX*10;
bool check(int x){
	int num=0;
	for(int i=1;i<=n;i++)
		if(a[i]>x)num+=(a[i]-x);
	return (num>=k);
}

int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++)cin>>a[i];
	while(l+1<r){
		int mid=(l+r)/2;
		if(check(mid))l=mid;
		else r=mid;
	}
	cout<<l<<endl;
	return 0; 
}
2024/6/9 11:30
加载中...