P3078 [USACO13MAR] Poker Hands S

题目描述

Bessie 和她的朋友们正在玩一种独特的扑克牌游戏,这个游戏使用一副有 $N$ 种不同牌面($1 \leq N \leq 10^5$)的牌组,牌面被方便地编号为 $1$ 到 $N$(普通的牌组有 $N = 13$)。在这个游戏中,牛们只能打出一种牌型:可以选择一张标号为 $i$ 的牌和一张标号为 $j$ 的牌,并打出从 $i$ 到 $j$ 的所有牌。这种牌型称为「顺子」。 Bessie 的手牌中当前持有 $a_i$ 张牌面为 $i$ 的牌($0 \leq a_i \leq 10^5$)。请你帮助她找到必须打出的最少顺子数目以清空她所有的牌。

输入格式

第 $1$ 行为一个整数 $N$。 第 $2 \sim N+1$ 行,第 $i+1$ 行包含 $a_i$ 的值。

输出格式

输出一行一个整数,表示 Bessie 必须打出的最少顺子数目以清空她所有的牌。

说明/提示

Bessie 可以打出一个从 $1$ 到 $5$ 的顺子,一个从 $1$ 到 $2$ 的顺子,一个从 $4$ 到 $5$ 的顺子,两个从 $2$ 到 $2$ 的顺子,以及一个从 $5$ 到 $5$ 的顺子,总共需要 $6$ 轮来清空她所有的牌。 (由 ChatGPT 4o 翻译)