简单的贪心策略:每一个点都要和值最小的点连边,这样它们的总和会最小。
#include <bits/stdc++.h>
using namespace std;
int n;
int d[100005];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++) cin >> d[i];
sort(d+1, d+1+n);
long long s = 0;
for (int i = 2; i <= n; i++) {
s += d[1] + d[i];
}
cout << s << endl;
return 0;
}