蒟蒻不知道哪里错了(苦)
#include <bits/stdc++.h>
using namespace std;
const long MOD = 100000007;
long ans, maxlen, add, len[100005];
long xzpx(long m)
{
return ((m*m-m)/2)%MOD;
}
int main()
{
long n;
cin >> n;
long a[n+1]; a[0] = 0;
for(long i = 1; i <= n; i++)
{
cin >> a[i];
maxlen = max(a[i], maxlen);
len[a[i]]++;
}
for(long i = 1; i <= maxlen; i++)
for(long j = i; j <= maxlen; j++)
{
add = i + j;
if(i == j)
ans = (ans+xzpx(len[i])*xzpx(len[add]))%MOD;
else
ans = (ans+((len[i]*len[j])%MOD*xzpx(len[add]))%MOD)%MOD;
}
cout << ans;
return 0;
}
蒟蒻是借鉴了题解的(捂脸),但是只有30分,蒟蒻没找到哪里还有错误,求求大佬们帮帮蒟蒻吧!蒟蒻会非常感谢的ORZ