#5673. 亮灯

    ID: 5673 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>搜索枚举前缀和教师测试算法组普及/提高−

亮灯

题目描述

自习室内有一个智能灯。

00 时刻,管理员会打开电闸并将灯点亮。
MM 时刻,管理员会直接拉下电闸,此时若灯处于点亮状态,则会因为断电而熄灭。

00MM 之间有 nn 个不同时刻 a1,a2,,ana_1, a_2, \dots, a_n,满足 0<a1<a2<<an<M0 < a_1 < a_2 < \dots < a_n < M。在这 nn 个时刻中的每个时刻,管理员都会拨动一次智能灯的开关,使灯的状态切换(亮变灭、灭变亮)。

现在,你可以最多额外指定一个时刻(也可以不指定),让管理员在此时刻也拨动一次开关。注意选定的时刻不能与 a1,a2,,ana_1, a_2, \dots, a_n 相等。

你的目标是让亮灯的总时长尽可能长。请输出这个最大亮灯总时长。

输入格式

第一行包含整数 TT,表示共有 TT 组测试数据。

每组数据的格式如下:

  • 第一行包含两个整数 nnMM
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n

输出格式

对于每组测试数据,输出一行一个整数,表示最大亮灯总时长。

样例

3
3 10
4 6 7
2 12
1 10
2 7
3 4
8
9
6

数据范围与提示

  • 1T301 \le T \le 30
  • 1n1051 \le n \le 10^5
  • 2M1092 \le M \le 10^9
  • 0<a1<a2<<an<M0 < a_1 < a_2 < \dots < a_n < M