#4282. C++ L10 无敌时间

C++ L10 无敌时间

C++ L10 无敌时间(30分)

题目名称:无敌时间

题目描述:

“星球大战”是一个电子射击竞技游戏,你控制着主角的飞船与罪恶的敌人展开战斗。游戏中会随时出现一种神奇的光环,从光环出现的那一刻起,主角获得5秒的无敌时间,可防止来自敌人的任何伤害。

无敌时间不能累加,无论主角是否处于无敌状态,从最近的光环出现起,5秒后光环自动消失,无敌状态随即解除。

现在告诉你一局游戏中光环出现的所有时刻,如果主角始终生存,而且最后一个光环消失前游戏不会结束,计算无敌时间的总时长秒数。

例如:

一局游戏中出现3次光环,分别在第1秒初、第7秒初和第8秒初。

第1秒初,主角获得5秒的无敌时间,光环到第6秒初消失;

第7秒初,主角再次获得5秒的无敌时间,光环到第12秒初消失;

第8秒初,主角再次获得5秒的无敌时间,由于当时已经是无敌状态,无敌时间不能累加,光环到第13秒初消失。

在这个例子中,无敌时间的总长是11秒。下图中,从上到下,列举了3次光环出现后的无敌持续时间,蓝色表示主角处于无敌状态 image

输入

第一行一个整数n(0<=n<=20),代表光环在一局游戏中出现的次数;

第二行n个递增的整数a~i~(1<=a​~i~​<=100),代表第i个光环出现的起始时刻,相邻两个整数用空格隔开。

输出

一个整数,代表无敌时间的总时长。

输入样例:

3

1 7 8

输出样例:

11

Limitation

1s, 1024KiB for each test case.