#TP1012. 小 Y 的奖励计划

小 Y 的奖励计划

题目描述

为了更好的迎战SBCF比赛,老师进行模拟赛,为了更好的调动大家的积极性,老师决定根据每位选手的成绩给大家发星星币作为奖励,星星币可以在校区内的礼品区兑换礼品,但是老师有点抠,他不想发的太多,但是也不想发的太少,这样无法调动大家的积极性。老师不知道该怎么给大家发放奖励,此时小 Y 灵机一动,一拍脑袋,想出了一个很好的方法,方法如下:

  • 首先为了能让大家更积极的参加模拟赛,只要参加的同学每个人保底 200200 个星星币。

  • 其次考完试之后,由于大家都在坐在一排考试,不能离开座位,所以每个人只能知道自己和自己挨着的同学的成绩。

  • 发放星星币时,要保证成绩更高的同学,拿到的星星币也更多,否则这个同学就会心里不平衡,下次就不参加了。星星币必须多 100100,才能被认为是比别人拿的多,才能保持心里平衡。

  • 如果相邻的两个同学成绩相同,那么他们的星星币的数量必须要一样多,否则就会有同学心里不平衡。

老师听了小 Y 的奖励计划之后,觉得非常不错,但是他不知道,按照上述方法需要提前准备多少个星星币,现在想请你帮他编写一个程序计算一下,他至少需要提前准备多少个星星币?

输入格式

第一行是一个整数 n(1n105)n(1\le n\le 10^5),代表参加比赛的同学人数。

第二行是 nn 个整数,代表参加学生的考试成绩 ai(0ai106)a_i(0\le a_i\le 10^6),整数之间用空格分隔。

输出格式

输出一行整数为老师至少需要准备的星星币数量。

样例

10
180 160 100 150 145 142 138 138 138 140
3000

样例解释

分别为每一个同学准备如下星星币数量:

400 300 200 500 400 300 200 200 200 300400~300~200~500~400~300~200~200~200~300

共计 30003000 个星星币