# Cities

## 问题 C: Cities

[提交][状态][讨论版][命题人:

## 题目描述

There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirectional road between two cities is the sum of their values. Please calculate the minimum cost of connecting these cities, which means any two cities can reach each other.

## 输入

The first line is an integer T(T≤10^5), representing the number of test cases.
For each test case, the first line is an integer n(n≤10^5), representing the number of cities, the second line are n positive integers ai(ai≤10^5), representing their values.

## 输出

For each test case, output an integer ans, the minimum cost of connecting these cities.

```2
4
1 2 3 4
1
1
```

## 样例输出

```12
0```
```#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
int T;
cin>>T;
while(T--)
{
int n;
cin>>n;
if(n==1)
{
cout<<0<<endl;
continue;
}
int a[100005];
cin>>a[0];
int minx = a[0];
int index = 0;
for(int i=1;i<n;i++)
{
cin>>a[i];
if(a[i]<minx)
{
minx = a[i];
index = i;
}
}
long long int ans = 0;
for(int i=0;i<n;i++)
{
if(i!=index)
{
ans+=minx+a[i];
}
}
cout<<ans<<endl;
}
}```

Cities

(0)
(0)

0条