题目描述
有一台灯,这个灯在时间为m时打开,0时关闭,在0到这段时m间内有n个时间点 0<a1<a2<a3<...<an<m,
在这些时间点灯的状态会改变(即开变关,关变开),现在可以在剩余的时间点中选至多一个时间点 x(x=ai,且0<x<m)让灯的状态改变一次,求这个灯最大亮着的时间。
(也可以选择不改变)
如果灯在 x时刻开到 y时刻关闭,那么亮着的时间为 y−x。
输入格式
第一行两个整数 n,m。
第二行有 n个整数,表示会在 a1,a2,a3...an(0<a1<a2<a3<...<an<m)
时间点灯的状态会发生改变。
输出格式
一个整数,表示灯亮着的最大时间。
样例
输入样例1
3 10
4 6 7
输出样例1
8
输入样例2
2 12
1 10
输出样例2
9
提示
第一个样例让灯在3处改变状态,结果为 (3−0)+(6−4)+(10−7)=8
第二个样例让灯在 2处改变状态,结果为(1−0)=(10−2)=9
对于30%的数据满足2<=m<=1000
对于100%的数据满足1<=n<=105,2<=m<=109,并且满足n<m.