CF1392A.Omkar and Password

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Omkar and Password

题目描述

Omkar 大人允许你进入 Omkar 圣教堂!为了考验你的资格,Omkar 给了你一个密码,你必须对其进行解读!

一个密码是一个长度为 nn 的正整数数组 aa。你可以对数组进行如下操作:选择任意一对相邻且不相等的数字,并将它们替换为它们的和。具体来说,选择一个下标 ii,满足 1i<n1 \leq i < naiai+1a_i \neq a_{i+1},然后将 aia_iai+1a_{i+1} 从数组中删除,并在它们的位置插入 ai+ai+1a_i + a_{i+1}

例如,对于数组 [7,4,3,7][7, 4, 3, 7],你可以选择 i=2i = 2,数组变为 [7,4+3,7]=[7,7,7][7, 4+3, 7] = [7, 7, 7]。注意,此时你无法再进行操作。

注意,每进行一次操作,密码的长度会减少 11。请问经过若干次(可能为 00 次)操作后,密码的最短可能长度是多少?

输入格式

每组测试包含多个测试用例。第一行包含测试用例个数 tt1t1001 \leq t \leq 100)。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n21051 \leq n \leq 2 \cdot 10^5),表示密码的长度。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \leq a_i \leq 10^9),表示初始密码内容。

所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个密码,输出一个整数,表示经过若干次操作后密码的最短可能长度。

说明/提示

在第一个测试用例中,你可以这样操作使长度变为 11

选择 i=2i=2,得到 [2,4,1][2, 4, 1]

选择 i=1i=1,得到 [6,1][6, 1]

选择 i=1i=1,得到 [7][7]

在第二个测试用例中,你无法进行任何操作,因为没有满足条件的 ii

由 ChatGPT 4.1 翻译

样例

2
4
2 1 3 1
2
420 420
1
2

在线编程 IDE

建议全屏模式获得最佳体验