#B18. 提莫攻击

提莫攻击

题目描述

在《英雄联盟》的世界中,提莫(Teemo)的攻击可以让敌方英雄艾希(Ashe)进入中毒状态。现在,给定提莫对艾希的攻击时间序列 timeSeries 和提莫攻击的中毒持续时间 duration,你需要输出艾希处于中毒状态的总秒数。

具体规则如下:

  1. 当提莫在时刻 tt 攻击时,艾希从时刻 tt 开始中毒,持续时间为 duration 秒。也就是说,艾希在时间区间 [t,t+duration−1][t, t + \text{duration} - 1](包含两端)内处于中毒状态。
  2. 如果提莫在前一次中毒效果结束前再次攻击,则中毒状态会刷新。即新的中毒状态将从新的攻击时刻开始,持续 duration 秒,而不是叠加。
  3. 你需要计算艾希处于中毒状态的总时间长度。

输入格式

第一行包含两个整数 NN 和 DD,分别表示攻击次数和中毒持续时间。 第二行包含 NN 个整数,表示提莫的攻击时间序列 timeSeries。保证该序列是非递减排序的。

数据范围:

  • 1≤N≤1041 \le N \le 10^4
  • 0≤timeSeries[i]≤1070 \le \text{timeSeries}[i] \le 10^7
  • 0≤D≤1070 \le D \le 10^7
  • timeSeries 按非递减顺序排列。

输出格式

输出一个整数,表示艾希处于中毒状态的总秒数。

2 2
1 4
4

解释:提莫攻击对艾希的影响如下:

  • 第 1 秒,提莫攻击艾希并使其立即中毒。中毒状态会维持 2 秒,即第 1 秒和第 2 秒。

  • 第 4 秒,提莫再次攻击艾希,艾希中毒状态又持续 2 秒,即第 4 秒和第 5 秒。

艾希在第 1、2、4、5 秒处于中毒状态,所以总中毒秒数是 4 。