第23个点wa, 蒟蒻求助
查看原帖
第23个点wa, 蒟蒻求助
343342
Obviathy楼主2022/1/20 13:06
#include<bits/stdc++.h>
using namespace std;
const int md = 1e9+7;
long long n,ans;
int cnt[100005],ma,f[5][100005],s[5][100005];
int main(){
	scanf("%lld",&n);
	for(int i = 1;i <= n;i ++){
		int x;
		scanf("%d",&x);
		cnt[x] ++;
		f[1][x] ++;
		ma = max(ma,x);
	}
	for(int i = 1;i <= ma;i ++){
		s[1][i] = (s[1][i-1]+f[1][i])%md;
	}
	for(int i = 2;i <= 4; ++i){
		for(int j = 1;j <= ma;++j){
			f[i][j] = (f[i][j]+(cnt[j]*s[i-1][j/2])%md)%md;
			s[i][j] = (s[i][j-1]+f[i][j])%md;
		}
	}
	for(int i = 0;i <= ma;i ++){
		ans =( ans + f[4][i])%md;
	}
	printf("%lld",ans);
	return 0;
}
2022/1/20 13:06
加载中...