输入描述:
The first line is an integer
representing the number of test cases.
For each test case, the first line is an integer , representing the number of cities, the
second line are positive integers ,
representing their values.
输出描述:
For each test case, output an integer, which is the
minimum cost of connecting these cities.
示例1
输入
2
4
1 2 3 4
1
1
输出
12
0
题目是个啥意思呢
就讲有很多城市,每个城市有个价值,
然后要修路,让任意城市可以到达其他任意城市,
修路就是两城市的价值之和,求所有路的最小价值和。
那就非常清晰了

这样修就OK
上代码
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 2e5;
int a[MAXN];
int main()
{
int n;
cin>>n;
long long ans;
while(n--)
{
ans = 0;
int len ;
cin>>len;
for(int i = 0; i < len; i++)
{
cin>>a[i];
}
sort(a,a + len);
for(int i = 1; i < len; i++)
{
ans += a[0] +a[i];
}
cout<<ans<<endl;
}
return 0;
}
本文介绍了一种算法问题,即如何以最小的成本将多个城市通过道路互相连接起来。每个城市的初始价值不同,修路的成本等于两个相连城市的价值之和。文章提供了一个高效的解决方案,通过先对城市价值进行排序,然后从价值最低的城市开始依次连接到其他城市,最终得到总成本的最小值。
551

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



