为啥WA
查看原帖
为啥WA
234469
activeO楼主2020/8/12 10:33
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int maxn=2e5+1000;
const int mod=998244353;
int a[maxn];
ll sum[maxn];

//为啥WA 

ll C(int x,int y){
	ll res=1;
	for(int i=1;i<=y;i++){
		res=res*x%mod;
		x--;
	}
	res%=mod;
	for(int i=y;i>=2;i--) res/=i;
	return res%mod;
}

int main(){
	
	int n;
	
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		a[x]++;
	}
	for(int i=1;i<=maxn;i++) sum[i]=sum[i-1]+a[i];
	
	ll ans=0;
	
	for(int i=1;i<=n;i++){
		if(a[i]>=3) ans=(ans+C(a[i],3))%mod;
		if(a[i]>=2) ans=(ans+C(a[i],2)*(sum[i+i-1]-a[i])%mod)%mod;
	}
	
	printf("%lld",ans);
	
	return 0;
}


2020/8/12 10:33
加载中...