R.I.P lxn 时间限制:1000 ms 内存限制:256 MiB
题目描述
大师协助中心宣布了一项入学考试,内容如下。
考生会得到一个大小为 $n$ 的集合 $s$ 和一个奇怪的整数 $c$。对于这个集合,需要计算满足以下条件的整数对 $(x, y)$ 的数量:$0 \leq x \leq y \leq c$,$x + y$ 不在集合 $s$ 中,并且 $y - x$ 也不在集合 $s$ 中。
你的朋友想进入该中心。请帮助他通过考试!
输入格式
每个测试包含多个测试用例。
第一行包含一个整数 $t$($1 \leq t \leq 2 \cdot 10^4$)——测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $c$($1 \leq n \leq 3 \cdot 10^5$,$1 \leq c \leq 10^9$)——集合的大小和奇怪的整数。
每个测试用例的第二行包含 $n$ 个整数 $s_1, s_2, \ldots, s_n$($0 \leq s_1 < s_2 < \ldots < s_n \leq c$)——集合 $s$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $3 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示满足条件的整数对的数量。
样例
样例输入 #1
8
3 3
1 2 3
1 179
57
4 6
0 3 5 6
1 1
1
5 10
0 2 4 8 10
5 10
1 3 5 7 9
4 10
2 4 6 7
3 1000000000
228 1337 998244353
样例输出 #1
3
16139
10
2
33
36
35
499999998999122959
提示
在第一个测试用例中,满足条件的整数对有:$(0, 0)$、$(2, 2)$、$(3, 3)$。
在第三个测试用例中,满足条件的整数对有:$(0, 1)$、$(0, 2)$、$(0, 4)$、$(1, 3)$、$(2, 6)$、$(3, 4)$、$(3, 5)$、$(4, 5)$、$(4, 6)$、$(5, 6)$。
数据范围
| 测试点 | 性质 |
|---|---|
| $1\sim 4$ | $c\le 1000$ |
| $5\sim 8$ | $c\le 10^5,\ n\le 100$ |
| $9\sim 12$ | $n\le 2000$ |
| $13\sim 16$ | $s_i$ 的奇偶性都相同 |
| $17\sim 20$ | 无特殊限制 |
对于全部测试点,$1 \le t \le 2\cdot 10^4$,$1 \le n \le 3\cdot 10^5$,$1 \le c \le 10^9$,$\sum n \le 3\cdot 10^5$。
