急急急,只有30分
查看原帖
急急急,只有30分
866969
telankesi楼主2022/12/4 20:10
#include <stdio.h>
int main() {
	int n;
	int x;
	scanf("%d", &n);
	int a[5010]={0};
	int max = 0;
	int num=0;
	for (int i = 0; i < n; i++) {
		scanf("%d", &x);
		a[x]++;
		if (x > max)max = x;
	}
	for (int i = 2; i <=max; i++) {   //相等的数
		for (int j = 1; j <= i / 2; j++) {
			int y = i - j;
			if (a[i] >= 2) {
				if (y != j) {
					if (a[i] >= 2 && a[j] > 0 && a[y] > 0) {
						num = num + (a[j] * a[y])*(a[i]*(a[i]-1)/2);
					}
				}
				else if (y == j) {
					if (a[j] >= 2) {
						num = num + (a[j] * (a[j] - 1)) / 2*(a[i]*(a[i]-1)/2);
					}
				}
			}
		}
	}
	printf("%d", num);

	return 0;
}
2022/12/4 20:10
加载中...