贪心代码求调
查看原帖
贪心代码求调
598875
nikodo楼主2023/11/8 21:39
#include<bits/stdc++.h>
using namespace std;
int n;
double a[100005],a1,a2,sum[100005];
bool cmp(int x,int y){
	return x>y;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>n;
	cin>>a1;
	for(int i=1;i<n-1;i++){
		cin>>a[i];
		sum[0]+=a[i];
	}
	cin>>a2;
	sum[0]+=a1+a2;
	sort(a+1,a+n-1,cmp);//从大到小排序
	for(int i=1;i<n-1;i++)
	sum[i]=sum[i-1]-a[i];//减去最大的一定是最优解
	double minn=1e9;
	int po=-1;
	for(int i=0;i<n-1;i++){
		sum[i]/=(n-i);//算平均值
		if(sum[i]<minn)minn=sum[i];
	}
	printf("%.3f",minn);
	return 0;	
}
2023/11/8 21:39
加载中...