求条
查看原帖
求条
1066330
wmy185486abc楼主2024/12/14 20:33

为啥90分

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+9;
long long n,m;
long long a[N];
long long sum;
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	sort(a,a+n);
	if(n==3){
		cout<<a[1]+m/2<<endl;
		return 0;
	}
	for(int i=1;i<n-1&&m;i++){
		m=m-(a[n-1]-a[i]);
		a[i]=a[n-1];
		if(m<0){
			a[i]+=m;
			m=0;
		}
	}
	if(m){
		sum=(a[1]+m/(n-1))*(n-2)+(m%(n-1)-1);
		if(m%(n-1)==0){
		    sum++;
		}
	}else{
		for(int i=1;i<n-1;i++){
			sum+=a[i];
		}
	}
	cout<<sum<<endl;
	return 0;
}
2024/12/14 20:33
加载中...