题目翻译:
题目可能理解起来有点抽象。
给出一些绳子的段,每次选两段分别对折成环拼在一起成为一段,对折后绳段长度减半。要求最终绳子的长度最长。输出最终长度(向下取整)
题解思路:
贪心,从小到大排序,然后相加减半即可
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin >> N;
vector<int> l;
while (N--)
{
int t;cin >> t;
l.push_back(t);
}
sort(l.begin(), l.end());
int r = l[0];
for (int i = 1;i < l.size();i++)
{
r = (r + l[i]) / 2;
}
cout << r;
}
坑点:
无