#include<iostream>#include<set>usingnamespace std;intmain(){int N;
cin >> N;
multiset<double> ret;for(int i =0; i < N; i++){int x;
cin >> x;
ret.insert(x);}double ans =0;while(1){if(ret.size()==1){
cout <<int(*ret.begin());break;}double a, b;
a =*ret.begin();
ret.erase(ret.begin());
b =*ret.begin();
ret.erase(ret.begin());double t = a /2+ b /2;
ret.insert(t);}return0;}
柳神Code
#include<iostream>#include<algorithm>#include<vector>usingnamespace std;intmain(){int n;scanf("%d",&n);
vector<int>v(n);for(int i =0; i < n; i++)scanf("%d",&v[i]);sort(v.begin(), v.end());int result = v[0];for(int i =1; i < n; i++)
result =(result + v[i])/2;printf("%d", result);return0;}