A12864 | DIY Wooden Ladder
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Let's denote a $k$ -step ladder as the following structure: exactly $k + 2$ wooden planks, of which
- two planks of length at least $k+1$ — the base of the ladder;
- $k$ planks of length at least $1$ — the steps of the ladder;
Note that neither the base planks, nor the steps planks are required to be equal.
For example, ladders $1$ and $3$ are correct $2$ -step ladders and ladder $2$ is a correct $1$ -step ladder. On the first picture the lengths of planks are $[3, 3]$ for the base and $[1]$ for the step. On the second picture lengths are $[3, 3]$ for the base and $[2]$ for the step. On the third picture lengths are $[3, 4]$ for the base and $[2, 3]$ for the steps.
You have $n$ planks. The length of the $i$ -th planks is $a_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 $k$ such that you can choose some subset of the given planks and assemble a $k$ -step ladder using them?
- two planks of length at least $k+1$ — the base of the ladder;
- $k$ planks of length at least $1$ — the steps of the ladder;
Note that neither the base planks, nor the steps planks are required to be equal.
For example, ladders $1$ and $3$ are correct $2$ -step ladders and ladder $2$ is a correct $1$ -step ladder. On the first picture the lengths of planks are $[3, 3]$ for the base and $[1]$ for the step. On the second picture lengths are $[3, 3]$ for the base and $[2]$ for the step. On the third picture lengths are $[3, 4]$ for the base and $[2, 3]$ for the steps.
You have $n$ planks. The length of the $i$ -th planks is $a_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 $k$ such that you can choose some subset of the given planks and assemble a $k$ -step ladder using them?
输入格式
The first line contains a single integer $T$ ( $1 \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 $n$ ( $2 \le n \le 10^5$ ) — the number of planks you have.
The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ( $1 \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 $10^5$ .
Each query consists of two lines. The first line contains a single integer $n$ ( $2 \le n \le 10^5$ ) — the number of planks you have.
The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ( $1 \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 $10^5$ .
输出格式
Print $T$ integers — one per query. The $i$ -th integer is the maximum number $k$ , such that you can choose some subset of the planks given in the $i$ -th query and assemble a $k$ -step ladder using them.
Print $0$ if you can't make even $1$ -step ladder from the given set of planks.
Print $0$ if you can't make even $1$ -step ladder from the given set of planks.
输入输出样例
输入 #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-3$ are shown at the image in the legend section.
The Russian meme to express the quality of the ladders:

The Russian meme to express the quality of the ladders:

C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted