#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次光环出现后的无敌持续时间,蓝色表示主角处于无敌状态
输入
第一行一个整数n(0<=n<=20),代表光环在一局游戏中出现的次数;
第二行n个递增的整数a~i~(1<=a~i~<=100),代表第i个光环出现的起始时刻,相邻两个整数用空格隔开。
输出
一个整数,代表无敌时间的总时长。
输入样例:
3
1 7 8
输出样例:
11
Limitation
1s, 1024KiB for each test case.