一开始把题目想复杂了,如果两个绳子连在一起后长度减半,则该减半的长度一定是所有绳子中最小的长度。
#include <iostream>
#include <algorithm>
using namespace std;
int seq[10010];
int main(){
int n;
scanf("%d",&n);
fill(seq,seq + 10010,0);
for(int i = 0;i < n;i++){
scanf("%d",&seq[i]);
}
sort(seq,seq + n);
int sum = seq[0];
for(int i = 1;i < n;i++){
sum += seq[i];
sum = sum / 2;
}
printf("%d",sum);
system("pause");
return 0;
}