CF1426C.Increase and Copy
普及/提高-
通过率:0%
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.
输入格式
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.
输出格式
For each test case, print the answer: the minimum number of moves required to obtain the array with the sum at least n .
输入输出样例
输入#1
5 1 5 42 1337 1000000000
输出#1
0 3 11 72 63244