蒟蒻求助大佬
  • 板块P4995 跳跳!
  • 楼主lllyyyyyy
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/22 19:51
  • 上次更新2023/11/22 21:50:01
查看原帖
蒟蒻求助大佬
1061261
lllyyyyyy楼主2023/11/22 19:51
#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;
}

大佬帮忙看看哪里错了,测试点对一半,样例能过

2023/11/22 19:51
加载中...