CF1550A.Find The Array

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's call an array aa consisting of nn positive (greater than 00) integers beautiful if the following condition is held for every ii from 11 to nn: either ai=1a_i = 1, or at least one of the numbers ai−1a_i - 1 and ai−2a_i - 2 exists in the array as well.

For example:

  • the array [5,3,1][5, 3, 1] is beautiful: for a1a_1, the number a1−2=3a_1 - 2 = 3 exists in the array; for a2a_2, the number a2−2=1a_2 - 2 = 1 exists in the array; for a3a_3, the condition a3=1a_3 = 1 holds;
  • the array [1,2,2,2,2][1, 2, 2, 2, 2] is beautiful: for a1a_1, the condition a1=1a_1 = 1 holds; for every other number aia_i, the number ai−1=1a_i - 1 = 1 exists in the array;
  • the array [1,4][1, 4] is not beautiful: for a2a_2, neither a2−2=2a_2 - 2 = 2 nor a2−1=3a_2 - 1 = 3 exists in the array, and a2≠1a_2 \ne 1;
  • the array [2][2] is not beautiful: for a1a_1, neither a1−1=1a_1 - 1 = 1 nor a1−2=0a_1 - 2 = 0 exists in the array, and a1≠1a_1 \ne 1;
  • the array [2,1,3][2, 1, 3] is beautiful: for a1a_1, the number a1−1=1a_1 - 1 = 1 exists in the array; for a2a_2, the condition a2=1a_2 = 1 holds; for a3a_3, the number a3−2=1a_3 - 2 = 1 exists in the array.

You are given a positive integer ss. Find the minimum possible size of a beautiful array with the sum of elements equal to ss.

我们称一个由 nn 个正整数(即大于 00 的整数)构成的数组 aa 是优美的,如果对每个从 11 到 nn 的下标 ii,以下条件之一成立:

  • ai=1a_i = 1,或
  • ai−1a_i - 1 和 ai−2a_i - 2 中至少有一个也出现在该数组中。

例如:

  • 数组 [5,3,1][5, 3, 1] 是优美的:对 a1a_1,a1−2=3a_1 - 2 = 3 在数组中存在;对 a2a_2,a2−2=1a_2 - 2 = 1 在数组中存在;对 a3a_3,满足 a3=1a_3 = 1;
  • 数组 [1,2,2,2,2][1, 2, 2, 2, 2] 是优美的:对 a1a_1,满足 a1=1a_1 = 1;对其他每个 aia_i,ai−1=1a_i - 1 = 1 均在数组中存在;
  • 数组 [1,4][1, 4] 不是优美的:对 a2a_2,a2−2=2a_2 - 2 = 2 和 a2−1=3a_2 - 1 = 3 均不在数组中,且 a2≠1a_2 \ne 1;
  • 数组 [2][2] 不是优美的:对 a1a_1,a1−1=1a_1 - 1 = 1 和 a1−2=0a_1 - 2 = 0 均不在数组中,且 a1≠1a_1 \ne 1;
  • 数组 [2,1,3][2, 1, 3] 是优美的:对 a1a_1,a1−1=1a_1 - 1 = 1 在数组中存在;对 a2a_2,满足 a2=1a_2 = 1;对 a3a_3,a3−2=1a_3 - 2 = 1 在数组中存在。

给定一个正整数 ss。求元素和恰好为 ss 的优美数组的最小可能长度。

输入格式

The first line contains one integer tt (1≤t≤50001 \le t \le 5000) — the number of test cases.

Then tt lines follow, the ii-th line contains one integer ss (1≤s≤50001 \le s \le 5000) for the ii-th test case.

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

接下来有 tt 行,其中第 ii 行包含一个整数 ss(1≤s≤50001 \le s \le 5000),表示第 ii 个测试用例的输入。

输出格式

Print tt integers, the ii-th integer should be the answer for the ii-th testcase: the minimum possible size of a beautiful array with the sum of elements equal to ss.

输出 tt 个整数,其中第 ii 个整数应为第 ii 个测试用例的答案:元素和等于 ss 的优美数组的最小可能长度。

输入输出样例

  • 输入#1

    4
    1
    8
    7
    42

    输出#1

    1
    3
    3
    7

说明/提示

Consider the example test:

  1. in the first test case, the array [1][1] meets all conditions;
  2. in the second test case, the array [3,4,1][3, 4, 1] meets all conditions;
  3. in the third test case, the array [1,2,4][1, 2, 4] meets all conditions;
  4. in the fourth test case, the array [1,4,6,8,10,2,11][1, 4, 6, 8, 10, 2, 11] meets all conditions.

考虑以下示例测试:

  1. 在第一个测试用例中,数组 [1][1] 满足所有条件;
  2. 在第二个测试用例中,数组 [3,4,1][3, 4, 1] 满足所有条件;
  3. 在第三个测试用例中,数组 [1,2,4][1, 2, 4] 满足所有条件;
  4. 在第四个测试用例中,数组 [1,4,6,8,10,2,11][1, 4, 6, 8, 10, 2, 11] 满足所有条件。

输入解题思路,AI测评打分。不知道怎么写?

首页