CF1197A.DIY Wooden Ladder

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Let's denote a kk-step ladder as the following structure: exactly k+2k + 2 wooden planks, of which

  • two planks of length at least k+1k+1 — the base of the ladder;
  • kk planks of length at least 11 — the steps of the ladder;

Note that neither the base planks, nor the steps planks are required to be equal.

For example, ladders 11 and 33 are correct 22-step ladders and ladder 22 is a correct 11-step ladder. On the first picture the lengths of planks are [3,3][3, 3] for the base and [1][1] for the step. On the second picture lengths are [3,3][3, 3] for the base and [2][2] for the step. On the third picture lengths are [3,4][3, 4] for the base and [2,3][2, 3] for the steps.

You have nn planks. The length of the ii-th planks is aia_i. You don't have a saw, so you can't cut the planks you have. Though you have a hammer and nails, so you can assemble the improvised "ladder" from the planks.

The question is: what is the maximum number kk such that you can choose some subset of the given planks and assemble a kk-step ladder using them?

我们定义一个 kk-级梯子为如下结构:恰好由 k+2k + 2 根木板组成,其中

  • 两根长度至少为 k+1k+1 的木板——作为梯子的底边;
  • kk 根长度至少为 11 的木板——作为梯子的踏板;

注意:底边木板之间、踏板木板之间均不要求长度相等。

例如,图中梯子 11 和 33 是合法的 22-级梯子,而梯子 22 是合法的 11-级梯子。第一幅图中,底边木板长度为 [3,3][3, 3],踏板木板长度为 [1][1];第二幅图中,底边木板长度为 [3,3][3, 3],踏板木板长度为 [2][2];第三幅图中,底边木板长度为 [3,4][3, 4],踏板木板长度为 [2,3][2, 3]。

你有 nn 根木板,第 ii 根木板的长度为 aia_i。你没有锯子,因此无法切割已有木板;但你有锤子和钉子,因此可以用这些木板组装一个临时的“梯子”。

问题是:你能从中选出若干木板并组装成一个 kk-级梯子的最大 kk 值是多少?

输入格式

The first line contains a single integer TT (1≤T≤1001 \le T \le 100) — the number of queries. The queries are independent.

Each query consists of two lines. The first line contains a single integer nn (2≤n≤1052 \le n \le 10^5) — the number of planks you have.

The second line contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1051 \le a_i \le 10^5) — the lengths of the corresponding planks.

It's guaranteed that the total number of planks from all queries doesn't exceed 10510^5.

第一行包含一个整数 TT(1≤T≤1001 \le T \le 100),表示查询次数。各次查询相互独立。

每次查询包含两行。第一行包含一个整数 nn(2≤n≤1052 \le n \le 10^5),表示你拥有的木板数量。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1051 \le a_i \le 10^5),表示对应木板的长度。

保证所有查询中木板总数不超过 10510^5。

输出格式

Print TT integers — one per query. The ii-th integer is the maximum number kk, such that you can choose some subset of the planks given in the ii-th query and assemble a kk-step ladder using them.

Print 00 if you can't make even 11-step ladder from the given set of planks.

输出 TT 个整数——每个查询对应一个整数。其中第 ii 个整数表示最大的整数 kk,使得你可以从第 ii 个查询所给的木板中选出某个子集,并用它们搭建一个 kk 级梯子。

若无法用给定的木板搭建出哪怕一个 11 级梯子,则输出 00。

输入输出样例

  • 输入#1

    4
    4
    1 3 1 3
    3
    3 3 2
    5
    2 3 3 4 2
    3
    1 1 2

    输出#1

    2
    1
    2
    0

说明/提示

Examples for the queries 1−31-3 are shown at the image in the legend section.

The Russian meme to express the quality of the ladders:

查询 11–33 的示例见图注部分的图片。

表达梯子质量的俄罗斯网络迷因:

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

首页