给出由N个整数组成的数组A ,如果其所有元素均具有 3个除数,则该数组称为magical。现在,您必须将给定的数组转换为K长度的神奇数组。您可以按任何时间顺序执行以下操作。
将数组中任何元素的值增加1。
将数组中任何元素的值减小1。
删除数组中的任何元素。
约束:
1 <= N <= 1000000
1 <= K <= N
1 <= A <= 1000000
Sample Input
5(size of the array) 3(K)
1 4 10 8 15
Output
4
我尝试过的解决方案:
迭代数组的每个元素,检查质数平方附近,并将此差异添加到全局计数操作(用于计数所需操作的变量)。该时间顺序为n ^ 2。
寻找更好的解决方案。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以尝试以下方法查找具有3个因数的数字
copy()
同样可以申请数组,
希望这会有所帮助