logo AlgoBeat OnlineJudge
登录 注册

#104798. [BZOJ 4798] [Ceoi2015]Calvinball championship

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:无测试数据
上传者: 匿名

题目描述

个人参加一场比赛,需要把他们分成若干组,然后就会给他们每人一个编号。

编号发放的规则:

  1. 每个组的队长为组员中名字字典序最小的那个人;

  2. 每个组的编号为这个组的队长名字的排名(按字典序,且只有队长参与排名);

  3. 每个人的编号即为他所在组的编号,然后将所有人按字典序排好,根据他们的编号就可以产生一个序列。

例如: 有 个人,分为 组 (Calvin,Hobbes,Susie),(Batman),(Jerry ,Tom),加粗的是队长。(Batman)为第一组,(Calvin,Hobbes,Susie)为第二组,(Jerry ,Tom)为第三组。所以 人编号分别为 Batman Calvin ,Hobbes ,Susie Jerry ,Tom 。 再将 人名字排序,有 Batman Calvin Hobbes Jerry Susie Tom ,所以序列为

现在给出一个序列,求它按照字典序是第多少大的,答案 。(具体意思见样例解释)

输入格式

第一行一个 代表有多少个人参赛。

接下来一行 个数,代表序列,保证给出的序列是存在的。

输出格式

输出这个序列是第几大的,答案

样例

样例输入 #1

3
1 2 2

样例输出 #1

4

样例解释

有三个人,假设他们叫 A、B、C。

当为 (A, B, C) 时,序列为
当为 (A, B),(C) 时,序列为
当为 (A, C),(B) 时,序列为
当为 (A),(B, C) 时,序列为
当为 (A),(B),(C) 时,序列为

所以, 是第 大的。

数据范围与提示

对于 的数据,