@[AC_or_suicide](/user/1096827) 完帖已解决,楼主是杀比
by AC_or_suicide @ 2023-12-10 20:56:10
@[AC_or_suicide](/user/1096827) 所以为什么啊?我的也是前3组测试集WA(哭)
大佬看下代码行吗
```cpp
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N = 1e6+1,mod = 1e9+7;//debug1.注意测试范围
ll a[N],s[N],n,i,ans,k,maxn;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll sum1=0,sum=0,n,m;
cin>>n;//输入木棒总数
for(i=1;i<=n;i++){
cin>>k;//输入当前木棒长度
s[k]++;//长度为k的木棒++
if(k>maxn && s[k]>1) maxn = k;//可以取到两个相同的木棒长度的最大值
}
for(i=1;i<=maxn/2;i++){//从长度1开始遍历
if(s[i]==0) break;//如果当前长度没有木棒
for(k=i;k<maxn;k++){//另一根木棒遍历
if((k==i && s[k]==1)||s[k]==0)break;//如果当前长度不足以给它一根木棒
if(s[i+k]>1){//当两者之和的木棒长度存在且大于等于2时
if(i==k) ans+=s[i+k]*(s[i+k]-1)*s[i]*(s[i]-1)/4;
else ans+=s[i+k]*(s[i+k]-1)*s[i]*s[k]/2;
ans%=mod;
}
}
}
cout<<ans<<endl;
return 0;
}
```
by A4plusgod @ 2024-01-09 14:51:42