只有前三个AC,求助!!!!!!
查看原帖
只有前三个AC,求助!!!!!!
457431
Li_wenjie楼主2021/9/2 21:46
#include<bits/stdc++.h>
using namespace std;
int a[10001],num[10001],ans=0,n,maxa=0,mod=1e9+7;
int C2(int k)
{
	return (((k*k-k)/2)%mod);
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) 
	{
		scanf("%d",&a[i]);
		num[a[i]]++;
		maxa=max(maxa,a[i]);
	}
	for(int i=2;i<=maxa;i++)
	{
		if(num[i]>=2)
		{
			for(int j=1;j<=i/2;j++) 
			{
				if(num[j]!=0)
				{
					if(i-j==j)
					{
						ans+=(C2(num[i])*C2(num[j]))%mod;
					}
					else
					{
						ans+=(C2(num[i])*num[j]*num[i-j])%mod;
					}
				}
			}
			ans%mod;
		}
	}
	cout<<ans%mod;
}
2021/9/2 21:46
加载中...