求助,#19 TLE
查看原帖
求助,#19 TLE
1386099
_Heart_楼主2024/7/10 10:46

代码如下:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define MOD 998244353
int n;
unordered_map<int,int>M;

signed main()
{
	int m;
	cin >> n >> m;
	int temp;
	for(int i=0;i<n;i++)
	{
		scanf("%lld",&temp);
		if(temp<=m)
		{
			M[temp]++;
		}
	}
	int sum=0,sum1=0;
	for(auto i=M.begin();i!=M.end();i++)
	{
		sum1=0;
		for(auto j=i;j!=M.end();j++)
		{
			int t=((int)(i->first)*(j->first));
			sum1=(m/t)%MOD;
			sum1=(((sum1*i->second)%MOD)*j->second)%MOD;
			if(j->first!=i->first)
			{
				sum1*=2;
			}
			if(t>m)
			{
				continue;
			}
			sum1%=MOD;
		    sum+=sum1;
		    sum%=MOD;
		}
	}
	cout << sum << endl;
	return 0;
}

求大佬帮助qwq

2024/7/10 10:46
加载中...