Fedya and Array
题意翻译
有一个 $n$ 个元素的序列 $a$,元素首尾相连排成圆环,任意两个相邻元素间差的绝对值等于 $1$。定义一个局部最小值为**同时**小于左右两个相邻元素的元素值,一个局部最大值为**同时**大于左右两个相邻元素的元素值。
**注意,元素 $a_n$ 和 元素 $a_1$ 是相邻元素。**
给定序列 $a$ 中**所有**局部最大值的和以及序列 $a$ 中**所有**局部最小值的和,请还原出**元素个数最少**的数组 $a$。
题目描述
For his birthday recently Fedya was given an array $ a $ of $ n $ integers arranged in a circle, For each pair of neighboring numbers ( $ a_1 $ and $ a_2 $ , $ a_2 $ and $ a_3 $ , $ \ldots $ , $ a_{n - 1} $ and $ a_n $ , $ a_n $ and $ a_1 $ ) the absolute difference between them is equal to $ 1 $ .
Let's call a local maximum an element, which is greater than both of its neighboring elements. Also call a local minimum an element, which is less than both of its neighboring elements. Note, that elements $ a_1 $ and $ a_n $ are neighboring elements.
Unfortunately, Fedya lost an array, but he remembered in it the sum of local maximums $ x $ and the sum of local minimums $ y $ .
Given $ x $ and $ y $ , help Fedya find any matching array of minimum length.
输入输出格式
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 1000 $ ). Description of the test cases follows.
Each line of each test case contain two integers $ x $ and $ y $ ( $ -10^{9} \le y < x \le 10^{9} $ ) — the sum of local maximums and the sum of local minimums, respectively.
输出格式
For each test case, in the first line print one integer $ n $ — the minimum length of matching arrays.
In the second line print $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ -10^{9} \leqslant a_i \leqslant 10^{9} $ ) — the array elements such that the the absolute difference between each pair of neighboring is equal to $ 1 $ .
If there are multiple solutions, print any of them.
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 2 \cdot 10^{5} $ .
输入输出样例
输入样例 #1
4
3 -2
4 -4
2 -1
5 -3
输出样例 #1
10
0 1 2 1 0 -1 0 -1 0 1
16
-2 -1 -2 -1 0 1 2 3 4 5 4 3 2 1 0 -1
6
1 0 -1 0 1 0
16
2 3 2 1 0 -1 0 -1 0 -1 0 1 2 1 0 1
说明
In the first test case, the local maximums are the numbers at $ 3, 7 $ and $ 10 $ positions, and the local minimums are the numbers at $ 1, 6 $ and $ 8 $ positions. $ x = a_3 + a_7 + a_{10} = 2 + 0 + 1 = 3 $ , $ y = a_1 + a_6 + a_8 = 0 + (-1) + (-1) = -2 $ .
In the second test case, the local maximums are the numbers at $ 2 $ and $ 10 $ positions, and the local minimums are the numbers at $ 1 $ and $ 3 $ positions. $ x = a_2 + a_{10} = -1 + 5 = 4 $ , $ y = a_1 + a_3 = -2 + (-2) = -4 $ .
In the third test case, the local maximums are the numbers at $ 1 $ and $ 5 $ positions, and the local minimums are the numbers at $ 3 $ and $ 6 $ positions.