WA三个点,并且为什么我结果会多1???
查看原帖
WA三个点,并且为什么我结果会多1???
1038838
张一2010楼主2023/10/25 17:35
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,z[1000005],ansm;
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++) cin>>z[i];
	sort(z,z+n);
	int l=0,r=z[n-1],min;
	while(l<r){
		min=l+r>>1,ansm=0;
		for(int i=n-1;z[i]>min;i--){
			ansm+=z[i]-min;//cout<<z[i]<<"#$%&@";
		}
		if(ansm<m) r=min;
		else l=min+1;
	}
	cout<<r-1;
}
2023/10/25 17:35
加载中...