社区讨论

70分求调(前三个点WA)

P3799小 Y 拼木棒参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhjhdt5t
此快照首次捕获于
2025/11/04 02:36
4 个月前
此快照最后确认于
2025/11/04 02:36
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
const int mod=1e9+7;
long long n,tmp,ans,cnt[N];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>tmp;
		cnt[tmp]++;
	}
	for(int i=1;i<=2500;i++){
		for(int j=i;j<=5000-i;j++){
			long long k1=cnt[i],k2=cnt[j],k3=cnt[i+j];
			if(k3>=2){
				if(i==j&&k1>=2){
					tmp=k1*(k1-1)/2*k3*(k3-1)/2%mod;
				}
				else if(i!=j&&k1>=1&&k2>=1){
					tmp=k1*k2*k3*(k3-1)/2%mod;
				}
				ans+=tmp;
			}
		}
	}
	cout<<ans%mod;
	return 0;
} 

回复

0 条回复,欢迎继续交流。

正在加载回复...