//第二题 #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int* record = new int[n + 1](); for (int i = 1; i < n + 1; ++i) cin>>record[i]; sort(record+1,record+n+1); int** res = new int* [n + 1]; for (int i = 0; i < n + 1; ++i) { res[i] = new int[n + 1](); if (i == 0) continue; for (int j = 1; j <= n; ++j) { if (i == j) continue; res[i][j] = 1; } } int sum = 0; int i = n; bool flag = true; while (flag) { int num = 0; for (int j = n; j >= 1; --j) { if (i == j) continue; if (res[i][j] == 1) { sum += record[i] * record[j]; //cout << "i:"<<i<<" j:"<<j<<" sum:"<<sum << endl; res[i][j] = 0; res[j][i] = 0; i = j; ++num; break; } } if (num == 0) flag = false; else flag = true; } cout << sum << endl; }

相关推荐

牛客网
牛客企业服务