#include<bits/stdc++.h>
using namespace std;
const int maxn=10000+3;
multiset<double> ms;
int main(){
int n,t;
scanf("%d",&n);
for(int i=0;i<n;++i){
scanf("%d",&t);
ms.insert(t);
}
double fs,ss;
while(ms.size()>1){
fs = *ms.begin();
ms.erase(ms.begin());
ss = *ms.begin();
ms.erase(ms.begin());
ms.insert((fs+ss)/2);
}
cout<<floor(*ms.begin())<<endl;
return 0;
}
PAT甲级 1125 - Chain the Ropes
最新推荐文章于 2025-09-24 09:45:35 发布
本文展示了一个使用C++实现的简单程序,该程序通过标准模板库中的multiset来模拟不断合并两个最小元素直至只剩下一个的过程。具体地,程序首先读取一系列整数并将其插入到一个多重集合中,然后重复取出最小的两个元素、计算它们的平均值并将结果重新插入到集合中,直到集合中仅剩下一个元素为止。最后输出这个最终元素的整数部分。

2481

被折叠的 条评论
为什么被折叠?



