#298. 梅园理发店

传统 1000 ms 256 MiB
标准 IO
文本比较 yinky 标签

题目描述

一年一度的ICPC竞赛要开始了,世界各地的选手都在紧张激烈的准备着。yky自然也没有闲着,他准备在梅园开一家理发店,为即将参加比赛的选手们理发。

在yky的理发店中,选手们要经历三个步骤:洗头-剪头-洗头。 三个步骤缺一不可,且必须前一步完成后再进行下一步。

梅园的地皮寸土寸金,yky的理发店规模并不算大,只有一个洗头座位和一个剪头座位,每个座位只能同时为一名选手提供对应的服务。

已知有nn名选手将要前来理发,第ii个人的两次洗头时间皆为11,剪头时间为mim_i,因此三步对应花费的时间为1mi11-m_i-1

选手们并不在意他们理发的相对顺序。且对于一名选手来说,理发的步骤与步骤之间允许存在空档。(通常选手们会利用空档时间刷题)

距离比赛开始的时间越来越近,yky想知道最少需要多久可以帮助 nn 名选手全部完成理发。

这个问题太难了,yky去请教集训队的长老们,可长老们都忙着去出题了,于是yky将问题拜托给正在参加ICPC选拔赛的你。

输入格式

第一行一个整数 n(1n105)n(1 \leq n \leq 10^5) ,表示一共有nn名选手要理发。

接下来nn行,每行一个整数mi(1m100)m_i(1 \leq m \leq 100),表示第ii名选手的剪头时间。

输出格式

一行一个整数,表示所有选手理发所需花费的最小时间。

样例

样例输入

2
1
2

样例输出

5

样例解释

对于样例,一共有两位选手前来理发,剪头时间分别为1和2。

一种可行的方案是:

第一名选手在第22个单位时间洗头,在第44个单位时间剪头,在第55个单位时间洗头。

第二名选手在第11个单位时间洗头,在第232-3个单位时间剪头,在第44个单位时间洗头。

容易证明,这是花费时间最小的可行性方案之一。当然对于本题,你只需要输出最小的花费时间即可。