CF1550A Find The Array

题目描述

我们称一个由 $n$ 个正整数(大于 $0$)组成的数组 $a$ 是“美丽的”,如果对于每一个 $i$($1 \leq i \leq n$),都满足以下条件之一:要么 $a_i = 1$,要么数组中存在 $a_i - 1$ 或 $a_i - 2$ 这两个数中的至少一个。 例如: - 数组 $[5, 3, 1]$ 是美丽的:对于 $a_1$,有 $a_1 - 2 = 3$ 存在于数组中;对于 $a_2$,有 $a_2 - 2 = 1$ 存在于数组中;对于 $a_3$,满足 $a_3 = 1$; - 数组 $[1, 2, 2, 2, 2]$ 是美丽的:对于 $a_1$,满足 $a_1 = 1$;对于其他每个 $a_i$,有 $a_i - 1 = 1$ 存在于数组中; - 数组 $[1, 4]$ 不是美丽的:对于 $a_2$,既没有 $a_2 - 2 = 2$ 也没有 $a_2 - 1 = 3$ 存在于数组中,且 $a_2 \neq 1$; - 数组 $[2]$ 不是美丽的:对于 $a_1$,既没有 $a_1 - 1 = 1$ 也没有 $a_1 - 2 = 0$ 存在于数组中,且 $a_1 \neq 1$; - 数组 $[2, 1, 3]$ 是美丽的:对于 $a_1$,有 $a_1 - 1 = 1$ 存在于数组中;对于 $a_2$,满足 $a_2 = 1$;对于 $a_3$,有 $a_3 - 2 = 1$ 存在于数组中。 给定一个正整数 $s$。请你求出元素和为 $s$ 的美丽数组的最小可能大小。

输入格式

第一行包含一个整数 $t$($1 \leq t \leq 5000$),表示测试用例的数量。 接下来 $t$ 行,每行包含一个整数 $s$($1 \leq s \leq 5000$),表示第 $i$ 个测试用例的目标和。

输出格式

输出 $t$ 个整数,第 $i$ 个整数表示第 $i$ 个测试用例的答案:元素和为 $s$ 的美丽数组的最小可能大小。

说明/提示

考虑示例测试: 1. 在第一个测试用例中,数组 $[1]$ 满足所有条件; 2. 在第二个测试用例中,数组 $[3, 4, 1]$ 满足所有条件; 3. 在第三个测试用例中,数组 $[1, 2, 4]$ 满足所有条件; 4. 在第四个测试用例中,数组 $[1, 4, 6, 8, 10, 2, 11]$ 满足所有条件。 由 ChatGPT 4.1 翻译