atcoder#ARC073A. [ABC060C] Sentou

[ABC060C] Sentou

题目描述

とある銭湯には、スイッチを押すと T T 秒間お湯が出るシャワーがあります。

なお、お湯が出ているときにスイッチを押すと、そのタイミングから T T 秒間お湯が出つづけます。 お湯の出る時間が T T 秒間延長されるわけではないことに注意してください。

このシャワーの前を、N N 人の人がスイッチを押して通り過ぎていきます。 i i 人目の人は、1 1 人目の人がスイッチを押した ti t_i 秒後にスイッチを押します。

お湯が出る時間の総和は何秒かを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N T T t1 t_1 t2 t_2 ... tN t_N

输出格式

お湯が出る時間の総和を X X 秒として、X X を出力する。

题目大意

题目描述

在一个公共澡堂里,有一个淋浴器。在按下开关时,淋浴器将会开始运作,在 TT 秒内一直流出热水。

如果你在淋浴器运作的情况下时按下开关,水就会从当前时间开始继续运作 TT 秒,而不是让淋浴器多运作 TT 秒。

在这个淋浴间前,有 NN 个人按下开关。第 ii 个人在第 11 个人按下开关后的第 tit_i 个秒按下开关。请求出淋浴器运作的总时间。

输入格式

第一行两个整数 NNTT,分别表示人数和淋浴器连续工作时间。

第二行共 NN 个整数,第 ii 个整数代表 tit_i,含义见题目描述。

输出格式

一行一个整数,淋浴器运作的总时间。

数据范围

  • 1  N  200,000 1\ \leq\ N\ \leq\ 200,000
  • 1  T  109 1\ \leq\ T\ \leq\ 10^9
  • $ 0\ =\ t_1\ <\ t_2\ <\ t_3\ <\ ,\ ...,\ <\ t_{N-1}\ <\ t_N\ \leq\ 10^9 $
  • T T ti t_i 都是整数。
2 4
0 3
7
2 4
0 5
8
4 1000000000
0 1000 1000000 1000000000
2000000000
1 1
0
1
9 10
0 3 5 7 100 110 200 300 311
67

提示

制約

  • 1  N  200,000 1\ ≦\ N\ ≦\ 200,000
  • 1  T  109 1\ ≦\ T\ ≦\ 10^9
  • $ 0\ =\ t_1\ <\ t_2\ <\ t_3\ <\ ,\ ...,\ <\ t_{N-1}\ <\ t_N\ ≦\ 10^9 $
  • T, ti T,\ t_i はすべて整数である

Sample Explanation 1

1 1 人目の人がスイッチを押し、お湯が 3 3 秒出た後にもう一度スイッチが押され、4 4 秒間お湯が出続けます。 よって合計で 7 7 秒間お湯が出ます。

Sample Explanation 2

1 1 人目の人がスイッチを押して、お湯が出終わった 1 1 秒後にもう一度スイッチが押されます。