CF2104D.Array and GCD

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个大小为 nn 的整数数组 aa。

你可以执行以下操作任意次数(包括零次):

  • 支付 1 枚硬币并将数组中的任意一个元素增加 11(执行此操作时你至少需要有 1 枚硬币);
  • 获得 1 枚硬币并将数组中的任意一个元素减少 11。

我们称一个数组是理想的,当且仅当满足以下两个条件:

  1. 数组中的每个元素都至少为 22;
  2. 对于任意两个不同的下标 ii 和 jj(1≤i,j≤n1 \le i, j \le n;i≠ji \ne j),aia_i 和 aja_j 的最大公约数(GCD)等于 11。如果数组元素少于 2 个,则此条件自动满足。

我们称一个数组是美丽的,如果可以通过上述操作将其转换为理想数组,且初始时你没有硬币。如果数组已经是理想的,那么它也是美丽的。

给定的数组不一定是美丽或理想的。你可以从中删除任意数量的元素(包括删除整个数组或不删除任何元素)。你的任务是计算为了使数组变得美丽,最少需要删除多少个元素(可以是零个)。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤4⋅1051 \le n \le 4 \cdot 10^5)。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(2≤ai≤1092 \le a_i \le 10^9)。

输入数据的额外约束:所有测试用例的 nn 之和不超过 4⋅1054 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数——为了使数组变得美丽,最少需要删除的元素数量(可以是零个)。

输入输出样例

  • 输入#1

    5
    3
    5 5 5
    4
    2 3 2 4
    1
    3
    3
    2 100 2
    5
    2 4 2 11 2

    输出#1

    0
    2
    0
    0
    1

说明/提示

在第一个样例中,你不需要删除任何元素,因为数组已经是美丽的。可以通过以下操作将其转换为理想数组:[5,5,5]→[4,5,5]→[4,4,5]→[4,3,5][5, 5, 5] \rightarrow [4, 5, 5] \rightarrow [4, 4, 5] \rightarrow [4, 3, 5](最终你会拥有 3 枚硬币)。

在第二个样例中,你需要删除 2 个元素才能使数组变得美丽。如果保留元素 [2,3][2, 3] 并删除其他元素,那么给定的数组已经是理想的(因此也是美丽的)。

在第三个样例中,你不需要删除任何元素,因为数组已经是理想的(因此也是美丽的)。

在第四个样例中,数组是美丽的。可以通过以下操作将其转换为理想数组:[2,100,2]→[2,99,2]→[2,99,3]→[2,98,3]→[2,97,3][2, 100, 2] \rightarrow [2, 99, 2] \rightarrow [2, 99, 3] \rightarrow [2, 98, 3] \rightarrow [2, 97, 3](最终你会拥有 2 枚硬币)。

翻译由 DeepSeek V3 完成

输入解题思路,AI测评打分。不知道怎么写?

首页