#972. 查找数组

查找数组

题目描述

我们称一个包含 nn 个正整数(大于 00 的整数)的数组 aa 为“美丽的”,当且仅当对于数组中的每一个元素 aia_i (1in1 \le i \le n),都满足以下条件之一:

  • ai=1a_i = 1
  • 数组中至少存在一个数等于 ai1a_i - 1
  • 数组中至少存在一个数等于 ai2a_i - 2

例如:

  • 数组 [5,3,1][5, 3, 1] 是美丽的:对于 55,数组中存在 52=35-2=3;对于 33,存在 32=13-2=1;对于 11,满足第一项条件。
  • 数组 [1,2,2,2,2][1, 2, 2, 2, 2] 是美丽的:对于 11 满足条件;对于所有的 22,数组中都存在 21=12-1=1
  • 数组 [1,4][1, 4] 不是美丽的:对于 44,数组中既不存在 22 也不存在 33,且 414 \neq 1
  • 数组 [2][2] 不是美丽的:数组中既不存在 11 也不存在 00,且 212 \neq 1
  • 数组 [2,1,3][2, 1, 3] 是美丽的。

现在给定一个正整数 ss。请找出元素之和等于 ss 的美丽数组的最小可能大小(即数组中元素个数的最小值)。

输入格式

第一行包含一个整数 tt (1t50001 \le t \le 5000) —— 测试用例的数量。

接下来 tt 行,每行包含一个整数 ss (1s2000001 \le s \le 200000),表示目标元素之和。

输出格式

输出 tt 个整数,第 ii 个整数表示第 ii 个测试用例的答案:即元素之和等于 ss 的美丽数组的最小可能大小。

样例输入 1

4
1
8
7
42

样例输出 1

1
3
3
7

说明

样例解释

  • 在第一个测试用例中,数组 [1][1] 满足所有条件;
  • 在第二个测试用例中,数组 [3,4,1][3, 4, 1] 满足所有条件(和为 88,大小为 33);
  • 在第三个测试用例中,数组 [1,2,4][1, 2, 4] 满足所有条件(和为 77,大小为 33);
  • 在第四个测试用例中,数组 [1,4,6,8,10,2,11][1, 4, 6, 8, 10, 2, 11] 满足所有条件(和为 4242)。