logo AlgoBeat OnlineJudge 返回比赛
登录 注册

E. [Algo Beat Contest 009 & MROI Round 1] Common Ratio

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

小 Y 给了你一个长为 的整数序列 ,保证

每次操作你可以选择一个下标 )和一个任意整数 ),并把 修改为

小 Y 想知道将 变为一个公比 非零实数的等比数列所需的最少修改次数,请你帮帮她,并且你需要解决 组测试数据。

:::info[什么是等比数列?] 一个序列 被称为等比数列,当且仅当存在一个实数 ,使得对于所有 ,都有 。特别地,当 时,也视为等比数列。 :::

输入格式

输入的第一行包含一个整数 ,表示输入文件中的测试数据组数。

对于每组测试数据:

  • 第一行包含一个整数 ,表示序列 的长度;
  • 第二行包含 个整数 ,表示序列 。两个整数之间用一个空格隔开,保证无行末空格。

输出格式

输出 行,第 行表示第 组测试数据的答案。可以证明答案一定是一个有限整数。

样例

输入 #1

13
5
1 2 3 4 5
3
1 1 1
4
1 2 4 9
4
8 12 18 28
1
1
4
8 12 18 27
10
1 1 4 5 1 4 1 9 1 9
4
1 1 4 5
8
-1 1 -1 1 -1 1 2 1
2
-2 -3
2
-114514 -1919810
5
1 -1 1 999 1
5
576460752303423488 -1152921504606846976 2305843009213693952 -4611686018427387904 -9223372036854775808

输出 #1

3
0
1
1
0
0
5
2
1
0
0
1
2

数据范围与提示

【样例 1 解释】

  • 对于第 1 组测试数据,最优方案为将序列修改为 的等比数列),共修改 3 个数。
  • 对于第 4 组测试数据,最优方案为将序列修改为 的等比数列),共修改 1 个数。
  • 对于第 7 组测试数据,最优方案为将序列修改为 的等比数列),共修改 5 个数。
  • 对于第 9 组测试数据,最优方案为将序列修改为 的等比数列),共修改 1 个数。
  • 对于第 11 组测试数据,最优方案为不修改序列,原序列即为 的等比数列,故答案为 0。
  • 对于第 13 组测试数据,注意不能将 改为 )以得到 的等比数列,因为要求

【数据范围】

本题采用捆绑测试与子任务依赖

对于所有测试数据,保证:

  • 单个输入文件中所有测试用例的 之和不超过
子任务编号 特殊性质 分值 依赖子任务
1 10
2 ^ ^ 15 ^
3 ^ 10
4 A 5
5 ^ ^ B 10
6 C
7 ^ ^
8 ^ 30

中不同元素的数量。

特殊性质 A:

特殊性质 B:

特殊性质 C: 在数据范围内独立均匀随机生成;该子任务仅包含 个测试点。