#HK4324. 「ROIR 2024 Day2」数组划分

「ROIR 2024 Day2」数组划分

题目描述

译自 ROI Regional 2024 Day2 T1. Разбиение массива

给定一个包含 nn 个自然数的数组 A=[a1,a2,,an]A = [a_1, a_2, \ldots, a_n]

需要将数组元素划分为两种颜色,使得不存在两个同色的元素 xxyy 满足 xx 可以整除 yyxy=p\frac{x}{y} = p,其中 pp 是一个质数。保证这样的划分是存在的。

输入格式

第一行包含一个整数 nn (1n105)(1 \le n \le 10^5),表示数组的元素数量。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai106)(1 \le a_i \le 10^6),表示数组的元素。

输出格式

输出数组划分为两种颜色的描述。

输出 nn 个整数,如果第 ii 个元素 aia_i 被划分为第一种颜色,则输出 11;如果被划分为第二种颜色,则输出 22

如果存在多种合适的划分方案,可以输出任意一种。

4
1 2 3 4
2 1 1 2

在第一个样例中,第一种颜色的元素有 2233,第二种颜色的元素有 1144。第一种颜色的元素之间不能整除。44 可以整除 11,但它们的比值不是质数。

1
20
1

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 99 所有 ai2a_i \le 2
22 1919 保证所有 aia_i 是某个质数 pp 的幂
33 1212 所有 ai3a_i \le 3 11
44 1313 所有 ai4a_i \le 4 1,31, 3
55 2121 n10n \le 10
66 2626 无附加限制 151\sim 5