传统题 1000ms 256MiB

气球

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

气球

题目描述

一个大房间里有 NN 个气球,从左到右排成一列。第 ii 个气球位于高度 HiH_i

徐老师可以从房间左侧任选一个高度射出一支箭。箭会以当前高度从左向右飞行。当它遇到一个与当前飞行高度相同的气球时,该气球会爆裂并消失,箭会继续向右飞行,但飞行高度降低 11

因此,如果箭以高度 HH 击中一个气球,之后它会以高度 H1H-1 继续飞行。

徐老师希望击破所有气球。请计算他最少需要射出多少支箭。

输入格式

第一行输入一个整数 NN1N1061 \le N \le 10^6),表示气球数量。

第二行输入 NN 个整数 H1,H2,,HNH_1,H_2,\ldots,H_N1Hi1061 \le H_i \le 10^6),依次表示从左到右每个气球的高度。

输出格式

输出一行一个整数,表示击破所有气球所需的最少箭数。

输入输出样例 #1

输入 #1

5
2 1 5 4 3

输出 #1

2

输入输出样例 #2

输入 #2

5
1 2 3 4 5

输出 #2

5

输入输出样例 #3

输入 #3

5
4 5 2 1 4

输出 #3

3

说明/提示

样例解释 #1

在第一组样例中:

  • 一支从高度 55 射出的箭会依次击破高度为 5,4,35,4,3 的气球
  • 另一支从高度 22 射出的箭会依次击破高度为 2,12,1 的气球

因此答案为 22

【睿爸信奥】入门组算法周赛(20260725)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-7-25 0:00
结束于
2026-8-1 0:00
持续时间
4 小时
主持人
参赛人数
22