CF1426C.Increase and Copy

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

Increase and Copy

题目描述

最开始,你有一个只包含一个元素 11 的数组 aaa=[1]a = [1])。

每一步操作,你可以进行以下两种操作之一:

  • 将数组 aa 中的某一个元素增加 11(选择当前数组中第 ii 个元素,将 aia_i 增加 11);
  • 将数组 aa 中的某一个元素复制一份,添加到数组末尾(选择当前数组中第 ii 个元素,将 aia_i 的一个副本添加到数组末尾)。

例如,考虑以下五步操作的序列:

  1. 取第一个元素 a1a_1,将其复制一份添加到数组末尾,得到 a=[1,1]a = [1, 1]
  2. 取第一个元素 a1a_1,将其增加 11,得到 a=[2,1]a = [2, 1]
  3. 取第二个元素 a2a_2,将其复制一份添加到数组末尾,得到 a=[2,1,1]a = [2, 1, 1]
  4. 取第一个元素 a1a_1,将其复制一份添加到数组末尾,得到 a=[2,1,1,2]a = [2, 1, 1, 2]
  5. 取第四个元素 a4a_4,将其增加 11,得到 a=[2,1,1,3]a = [2, 1, 1, 3]

你的任务是,求出最少需要多少步操作,才能使数组的元素和至少为 nn

你需要回答 tt 组独立的测试用例。

输入格式

输入的第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。接下来有 tt 行,每行一个整数 nn1n1091 \le n \le 10^9),表示数组元素和的下界。

输出格式

对于每个测试用例,输出一个答案:使数组元素和至少为 nn 所需的最小操作次数。

说明/提示

由 ChatGPT 4.1 翻译

样例

5
1
5
42
1337
1000000000
0
3
11
72
63244

在线编程 IDE

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