CF1426C.Increase and Copy
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Initially, you have the array a consisting of one element 1 (a=[1]).
In one move, you can do one of the following things:
- Increase some (single) element of a by 1 (choose some i from 1 to the current length of a and increase ai by one);
- Append the copy of some (single) element of a to the end of the array (choose some i from 1 to the current length of a and append ai to the end of the array).
For example, consider the sequence of five moves:
- You take the first element a1, append its copy to the end of the array and get a=[1,1].
- You take the first element a1, increase it by 1 and get a=[2,1].
- You take the second element a2, append its copy to the end of the array and get a=[2,1,1].
- You take the first element a1, append its copy to the end of the array and get a=[2,1,1,2].
- You take the fourth element a4, increase it by 1 and get a=[2,1,1,3].
Your task is to find the minimum number of moves required to obtain the array with the sum at least n.
You have to answer t independent test cases.
最初,你拥有一个仅包含一个元素 1 的数组 a(即 a=[1])。
在一次操作中,你可以执行以下两种操作之一:
- 将 a 中某个(唯一)元素的值加 1(选择某个下标 i,其中 1≤i≤ 当前数组 a 的长度,并将 ai 增加 1);
- 将 a 中某个(唯一)元素的副本追加到数组末尾(选择某个下标 i,其中 1≤i≤ 当前数组 a 的长度,并将 ai 追加到数组 a 的末尾)。
例如,考虑如下五步操作序列:
- 取第一个元素 a1,将其副本追加到数组末尾,得到 a=[1,1]。
- 取第一个元素 a1,将其值加 1,得到 a=[2,1]。
- 取第二个元素 a2,将其副本追加到数组末尾,得到 a=[2,1,1]。
- 取第一个元素 a1,将其副本追加到数组末尾,得到 a=[2,1,1,2]。
- 取第四个元素 a4,将其值加 1,得到 a=[2,1,1,3]。
你的任务是求出获得一个元素和至少为 n 的数组所需的最少操作次数。
你需要回答 t 个相互独立的测试用例。
输入格式
The first line of the input contains one integer t (1≤t≤1000) — the number of test cases. Then t test cases follow.
The only line of the test case contains one integer n (1≤n≤109) — the lower bound on the sum of the array.
输入的第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。接下来是 t 个测试用例。
每个测试用例仅一行,包含一个整数 n(1≤n≤109),表示数组元素和的下界。
输出格式
For each test case, print the answer: the minimum number of moves required to obtain the array with the sum at least n.
对于每个测试用例,输出答案:得到一个元素和至少为 n 的数组所需的最少操作次数。
输入输出样例
输入#1
5 1 5 42 1337 1000000000
输出#1
0 3 11 72 63244
输入解题思路,AI测评打分。不知道怎么写?