#include<stdio.h> #include<iostream> #include<string> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef struct node { int num; int flag; }; bool cmp(node a, node b) { return a.num > b.num; } int main() { int n; cin >> n; node a[101]; for (int i = 0;i < n;i++) { cin >> a[i].num; a[i].flag = 0; } sort(a, a + n, cmp); long long sum = 0; sum = pow(a[0].num, 2); a[0].flag = 1; int max = 0; int maxid=0; int pre = a[0].num; while (1) { for (int i = 0;i < n;i++) { int cha; if (a[i].flag == 0) { if (fabs(a[i].num - pre) > max) { max = fabs(a[i].num - pre); maxid = i; } } } a[maxid].flag = 1; sum += (a[maxid].num - pre)*(a[maxid].num - pre); pre = a[maxid].num; max = 0, maxid = 0; int ff = 0; for (int i = 0;i < n;i++) { if (a[i].flag == 0) { ff = 1; break; } } if (ff == 0) break; } cout << sum; } |
Double click to view unformatted code.