C++代码
#include<bits/stdc++.h>
using namespace std;
double a[10000]={0};
void quicksort(int left,int right){
int i,j;
double t,temp;
if(left>right) return;
temp=a[left];
i=left;
j=right;
while(i!=j){
while(a[j]>=temp&&i<j) j--;
while(a[i]<=temp&&i<j) i++;
if(i<j){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
a[left]=a[i];
a[i]=temp;
quicksort(left,i-1);
quicksort(i+1,right);
}
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%lf",&a[i]);
}
quicksort(0,n-1);
double s=0;
for(int i=0;i<n-1;i++){
s=(a[i]+a[i+1])/2.0;
a[i+1]=s;
}
printf("%d",(int)s);
return 0;
}
备注
用vector容器和sort排序会超时,用冒泡排序也会超时,所以我这里用了快速排序