求助
查看原帖
求助
917842
tyy6034楼主2023/11/11 19:51
#include<iostream>
using namespace std;
typedef long long ll;
const ll k=1000000007;
ll n,a[500005],cnt=0;
ll c(ll x){
    return x*(x-1)/2;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        ll x;
        cin>>x;
        a[x]++;
    }
    for(int i=1;i<=n;i++)
    {
        if(a[i]>=2)
        {
            ll x=c(a[i])%k;
            for(int j=1;j<=i-1;j++)
            {
            	if(i==j*2)x*=c(a[j]);
            	else x*=a[j]*a[i-j];
            	x%=k;
            }
            cnt+=x;
            cnt%=k;
        }
        
    }
    cout<<cnt<<endl;
    return 0;
}
2023/11/11 19:51
加载中...