题目描述
分析:贪心,要使绳子最长,需要先连接最短的绳子,只需把绳子排序即可。
#include<vector>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<numeric>
using namespace std;
typedef long long ll;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll n;
cin>>n;
vector<double> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
sort(v.begin(),v.end());
//cout << floor(accumulate(v.begin() + 1, v.end(), v[0],[](double a, double b) { return (a + b) / 2; }));
double ans=v[0];
for(auto i=v.begin()+1;i!=v.end();i++){
ans=(ans+*i)/2;
}
cout<<floor(ans)<<endl;
}