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排序会超时,用冒泡排序也会超时,所以我这里用了快速排序