Welcome to Liukejie|

liukejie

园龄:1年8个月粉丝:5关注:11

2023-07-01 10:58阅读: 7评论: 0推荐: 0

P8909 [RC-06] Multiples 题解

思路

因为 ai1109 均匀随机生成,所以可以考虑枚举 ai 的倍数,用 map 记录每个数被枚举的次数。

代码如下

#include <bits/stdc++.h>

// #define int long long
#define rep(i, l, r) for(int i = l; i <= r; ++ i)

using namespace std;

const int MAXN = 2510;

map <int, int> mp;

int n, m, x;
int ans[MAXN];

main()
{
	cin >> n >> m;
	ans[0] = m;

	rep(i, 1, n)
	{
		cin >> x;
		for(int j = x; j <= m; j += x)
			++ mp[j];
	}

	for(auto i = mp.begin(); i != mp.end(); ++ i)
	{
		++ ans[i->second];
		-- ans[0];
	}

	rep(i, 0, n)
		cout << ans[i] << " ";
	return 0;
}
posted @   liukejie  阅读(7)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起