#H. 质数变革(编程题)

    传统题 1000ms 256MiB

质数变革(编程题)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

质数一直以来都是数学领域中的一个重要概念。传统的数论定义质数为只有两个正因子的自然数。然而,在一次变革中,小蓝提出了一个新的质数定义:绝对值只有两个正因子的数均为质数。根据小蓝的定义,质数序列如下:

...,7,5,3,2,2,3,5,7,.... . . , −7, −5, −3, −2, 2, 3, 5, 7, . . .

现给定一个包含 nn 个整数的数组 aa,记为 a1,a2,...,ana_1, a_2, . . . , a_n,以及 qq 个操作,每个操作由三个整数 opopkkxx 组成。小蓝将按顺序执行这些操作,依次改变数组 aa 中的元素值。具体地,对于一个操作:

  • opop 等于 11,则对于数组 aa 中满足 ii mod k=0k = 0 的元素 aia_i,将其替换为从大到小第 xx 个小于它的质数。
  • opop 等于 22,则对于数组 aa 中满足 ii mod k=0k = 0 的元素 aia_i,将其替换为从小到大第 xx 个大于它的质数。

由于小蓝不喜欢负数,也不喜欢太大的数,所以如果在所有操作结束后某个元素的值小于 00,小蓝会将其替换为 00;如果某个元素的值大于 10000001000000,小蓝会将其替换为 11

请问,在所有操作结束后,数组 aa 中的元素分别为多少。

输入格式

输入的第一行包含两个整数 nnqq ,用一个空格分隔,表示数组 aa 的长度和操作的数量。
第二行包含 nn 个整数 a1,a2,...,ana_1, a_2, . . . , a_n,表示初始时数组 aa 中的元素。
接下来 qq 行,每行包含三个整数 opopkkxx,表示一个操作。

输出格式

输出一行,包含 nn 个整数,表示在所有操作结束后,数组 aa 中的元素值。

样例输入输出

5 3 
2 3 6 9 12 
2 2 1 
2 2 1 
1 3 4
2 7 0 13 12

样例说明

初始时,数组 aa 的元素为 [2,3,6,9,12][2, 3, 6, 9, 12]
执行第一个操作,将 a2a_2 替换为从小到大第 11 个大于它的质数,即 a2a_2 变为 55。将 a4a_4 替换为从小到大第 11 个大于它的质数,即 a4a_4 变为 1111。数组变为[2,5,6,11,12][2, 5, 6, 11, 12]
执行第二个操作,将 a2a_2 替换为从小到大第 11 个大于它的质数,即 a2a_2 变为 77。将 a4a_4 替换为从小到大第 11 个大于它的质数,即 a4a_4 变为 1313。数组变为[2,7,6,13,12][2, 7, 6, 13, 12]
执行第三个操作,将 a3a_3 替换为从大到小第 44 个小于它的质数,即 a3a_3 变为2−2。数组变为 [2,7,2,13,12][2, 7, −2, 13, 12]
操作结束后,将数组中所有小于 00 的元素变为 00,大于 10000001000000 的元素变为 11,因此最后的数组为 [2,7,0,13,12][2, 7, 0, 13, 12]

数据范围

对于 30%30\% 的评测用例,1n,q2×1031 ≤ n, q ≤ 2 × 10^31op21 ≤ op ≤ 21kn1 ≤ k ≤ n1x,ai1051 ≤ x, a_i ≤ 10^5
对于所有评测用例,1n,q2×1051 ≤ n, q ≤ 2 × 10^51op21 ≤ op ≤ 21kn1 ≤ k ≤ n1x,ai1061 ≤ x, ai ≤10^6

蓝桥杯自测

未参加
状态
已结束
规则
IOI
题目
8
开始于
2024-4-22 15:45
结束于
2024-4-23 15:45
持续时间
24 小时
主持人
参赛人数
25