考察
最後の一人は必ずT秒加算されるので、答えはT以上になる。
ポイントは前の人がスイッチを押してからT秒以内かどうか判定すること。
T秒以内なら前の人の差分を、それ以外ならT秒を加算すればよい。
コード
#include <iostream>
#include <algorithm>
using namespace std;
#define ll long long
ll t[200050] = {};
int main()
{
ll n, T;
cin >> n >> T;
for (int i = 0; i < n; i++)
{
cin >> t[i];
}
ll ans = T;
for (int i = 1; i < n; i++)
{
ans += min(T, t[i] - t[i - 1]);
}
cout << ans << endl;
}実装が思いつかなったのは反省・・・