1 solutions

  • 1
    @ 2024-10-1 11:49:36

    首AC,有点复杂,将就着看吧

    #include<bits/stdc++.h>
    using namespace std;
    double n,totality=0,average,cmax=0;
    double a[330];
    int findmax(double c[],int n){
    	double maxn=-1;
    	int ans=0;
    	for(int i=0;i<n;i++){
    		if(maxn<c[i]){
    			maxn=c[i];
    			ans=i;		
    		}
    	}
    	return ans;
    }
    int findmin(double a[],int n){
    	double minn=1e9+5;
    	int ans=0;
    	for(int i=0;i<n;i++){
    		if(minn>a[i]&&a[i]>=0){
    			minn=a[i];
    			ans=i;		
    		}
    	}
    	return ans;
    }
    int main(){
    	cin>>n;
    	for(int i=0;i<n;i++){
    		cin>>a[i];
    		totality+=a[i];
    	}
    	totality-=a[findmax(a,n)];
    	totality-=a[findmin(a,n)];
    	average=totality/(n-2);
    	for(int i=0;i<n;i++){
    		if(i!=findmax(a,n)&&i!=findmin(a,n))cmax=max(cmax,abs(a[i]-average)); 
    	}
    	cout<<fixed<<setprecision(2)<<average<<' '<<cmax;
    	return 0;
    }
    
    • 1

    Information

    ID
    6939
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    1
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By