#include <stdio.h>
#include <stdlib.h>
int compare(const void* a, const void* b)
{
int* pa = (int*)a;
int* pb = (int*)b;
int num1 = *pa;
int num2 = *pb;
return num2 - num1;
}
int main()
{
int n, i;
scanf("%d", &n);
int h[300];
h[0] = 0;
for (i = 1; i <= n; i++)
{
scanf("%d", &h[i]);
}
qsort(h, n + 1, sizeof(int), compare);
int start = 0, end = n;
int sum = 0; int turn = 1;
while (start <= end)
{
if (turn)
{
sum += (h[start] - h[end]) * (h[start] - h[end]);
end--;
}
else
{
sum += (h[start] - h[end]) * (h[start] - h[end]);
start++;
}
turn = 1 - turn;
}
printf("%d", sum);
return 0;
}
大佬帮忙看看哪里错了,测试点对一半,样例能过