???
查看原帖
???
78469
czj2006楼主2021/2/1 14:50
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
long long n,a[100001],b[5001];
int C (int m) {
	return (m*(m-1)/2)%mod;
}

int main(){
	scanf("%lld",&n);
	long long x,len=-1e9;
	for (int i=1;i<=n;i++) {
		scanf("%lld",&x);
		len=max(len,x);
		b[x]++;
	}
	long long ans=0;
	for (int i=1;i<=len;i++) {
		for (int j=i;j<=len;j++) {
			if (i+j>len)  break;
			if (i==j)  ans+=(C(b[i])*C(b[i+j]))%mod;
			else  ans+=(C(b[i])*b[j]*(b[i+j]))%mod;
		}
	}
	printf("%lld",ans);
	return 0;
}
2021/2/1 14:50
加载中...