50pts求助
查看原帖
50pts求助
1181602
Cute_Furina楼主2024/10/3 21:54
#include<bits/stdc++.h>
using namespace std;
long long a[200001], ans, n, maxx, k, l = 1, x;
#define mod 998244353
int main() {
	cin >> n;
	for(int i = 1;i <= n;i ++) {
		cin >> x;
		a[x] ++;
		maxx = max(maxx, x);
	}
	for(int i = 1;i <= maxx;i ++) {
		for(; l <= i * 2 && l <= maxx; l ++) {
			k += a[l];
		}
		ans += (a[i] - 1) * a[i] * (k - a[i]) / 2 + (a[i] - 2) * (a[i] - 1) * a[i] / 6;
		ans %= mod;
	}
	cout << ans << endl;
	return 0;
}

2024/10/3 21:54
加载中...