代码:
#include<bits/stdc++.h>
using namespace std;
const int mod=998244353;
int n,pre,a[200001];
long long ans,t[200001];
int main(){
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]),t[a[i]]++;
for(int i=1;i<=200000;i++) t[i]+=t[i-1];
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
if(a[i]!=pre){
long long sl=t[a[i]]-t[a[i]-1];
int l=lower_bound(a+1,a+n+1,0)-a,r=lower_bound(a+1,a+n+1,2*a[i])-a;
ans+=(long long)sl*(sl-1)/2%mod*(t[a[r-1]]-t[a[l]-1]-sl)%mod;
ans%=mod;
ans+=(long long)sl*(sl-1)%mod*(sl-2)/6%mod;
pre=a[i];
}
}
cout<<ans;
return 0;
}
WA on #11,#9