1125 Chain the Ropes (25分)
题目大意:给定n条绳子,把绳子对折后连接起来变成一条新绳子,参与下一次对折连接。要求求出所有绳子对折连接以后的最大长度。
长度小的先对折,长度大的后对折。(每一次和长度小的对折)
(开始以为理解错题目了,抱着试一试的心态,没想到真的就过了)
#include<iostream> //输入输出流头文件
#include<algorithm> //C++标准模板库的函数
using namespace std; //标准命名空间
int main(){ //主函数
#ifdef ONLINE_JUDGE //如果有oj系统(在线判定),则忽略文件读入,否则使用文件作为标准输入
#else
freopen("1.txt", "r", stdin); //从1.txt输入数据
#endif
int n;
cin>>n;
int *seg=new int[n];
for(int i=0;i<n;i++)cin>>seg[i];
sort(seg,seg+n);
double sum=(seg[0]+seg[1])/2;
for(int i=2;i<n;i++)
sum=(seg[i]+sum)/2;
cout<<(int)sum<<endl;
return 0; //返回0,如果不返回0,PAT会报错
}