P5602 为什么本题小范围数据输出时会出错?
查看原帖
P5602 为什么本题小范围数据输出时会出错?
1271054
xuyutong1234楼主2024/8/24 12:48
#include<bits/stdc++.h>

using namespace std;

bool cmp(int a,int b){

	return a>b;
    
}

int main(){

    int n;double ans=0;cin>>n;int a[n+5];
    
    for(int i=1;i<=n;i++) cin>>a[i];
    
    sort(a+1,a+1+n,cmp);
    
    for(int i=1;i<=n;i++){
    
    double m=0,s=0;
    
    	for(int j=i;j<=n;j++){
        
    		m+=a[j];s++;
            
    		if(m*m/s>ans) ans=m*m/s; 
            
		}
        
		if(m*m/s<ans) break;
        
	}
    
	if(n<=20) cout<<ans;
    
	else printf("%8.f",ans);
    
    return 0;
    
}
2024/8/24 12:48
加载中...