#6888. B. Cardboard Boxes(纸板箱)
B. Cardboard Boxes(纸板箱)
NZIC 2026 Round 1(新西兰信息学竞赛 2024 第一轮)
B. Cardboard Boxes(纸板箱)
输入: 标准输入(stdin) 输出: 标准输出(stdout) 内存限制: 64 MB 时间限制: 1.0 秒
- problem statement
- submit
- submissions
题目描述
Avery 正在把纸板箱堆成一座塔。
Avery 一共有:
个可以使用的纸板箱,每个纸板箱都有一个宽度。
具体来说,第 (i) 个纸板箱的宽度为:
Avery 是一位获奖建筑师,因此知道:
把一个大的东西放在一个小的东西上面,在结构上是不稳固的。
因此,Avery 决定:
塔中的每一个纸板箱,都必须比它上面的那个纸板箱更宽。
这个规则不适用于塔顶的纸板箱,因为它上面没有其他纸板箱。
作为 Avery 的“会编程的朋友”,你需要帮忙编写一个程序,求:
这座塔中最多可以使用多少个纸板箱。
输入格式
第一行包含一个整数:
N
接下来的 (N) 行,每行包含一个整数,表示一个纸板箱的宽度。
更正式地说:
第 (i) 行包含:
输出格式
输出一个整数:
Avery 最多可以在塔中使用多少个纸板箱。
数据范围
子任务
- 30% 的分数:
任意两个纸板箱的宽度都不相同。
- 额外 30% 的分数:
- 满分:
没有额外限制。
样例说明
Avery 可以建造一座高度为 3 的纸板箱塔:
- 把一个宽度为 3 的纸板箱放在宽度为 10 的纸板箱上;
- 再把宽度为 1 的纸板箱放在最上面。
这样形成:
10
3
1
一共使用:
个纸板箱。
剩下的另一个宽度为 3 的纸板箱无法放入塔中,因为如果两个宽度为 3 的箱子相邻,就无法满足:
下面的箱子必须比上面的箱子更宽。
样例输入 1
4
1
3
10
3
样例输出 1
3
| 测试点编号 | N | 层级 | 数据特征 | 预期输出 | 设计目的 |
|---|---|---|---|---|---|
| 1 | 弱数据 | 单个元素 | 1 | 覆盖最小非空规模 | |
| 2 | 6 | 所有元素完全相同 | 检查重复元素去重 | ||
| 3 | 10 | 正常数据 | 无序排列、多个重复值 | 5 | 检查常规去重统计 |
| 4 | 12 | 边界数据 | 含 0、负数及 int 最大/最小值 |
8 | 检查整数边界与混合取值 |
| 5 | 30 | 综合数据 | 10 种数值多次重复、顺序混乱 | 10 | 检查较长输入和密集重复 |