样例一直过不去,按照题解的思路来写的根本不知道是什么问题,求大佬帮忙看看呜呜呜,太难过了
#include<algorithm>
using namespace std;
int n;
long long maxlen = -1;
const long long ans = 1e9+7;
long long cnt = 0;
long long temp;
long long arr[10005];
int main()
{
cin >> n;
for(int i = 1;i <= n;i++)
{
cin >> temp;
arr[temp]++;
maxlen = max(maxlen,temp);
}
for(int i = 1;i <= maxlen;i++)
{
if(arr[i] == 0) continue;
for(int j = 1;j <= maxlen;j++)
{
if(arr[j] == 0) continue;
if(i == j)
cnt += (((arr[i]*(arr[i]-1))/2)%ans*((arr[2*i]*(arr[2*i]-1))/2%ans))%ans;
else if(i != j)
cnt += ((arr[i]*arr[j])%ans*((arr[i+j]*(arr[i+j]-1))/2)%ans)%ans;
}
}
cout << cnt%ans;
return 0;
}