AT_abc454_f [ABC454F] Make it Palindrome 2
Description
You are given a positive integer $ N $ , a positive integer $ M $ , and an integer sequence $ A=(A_1,A_2,\ldots,A_N) $ of length $ N $ . It is guaranteed that each element of $ A $ is between $ 0 $ and $ M-1 $ , inclusive.
You can perform the following operation on the integer sequence $ A $ any number of times, possibly zero:
- Choose a pair of integers $ (l,r) $ satisfying $ 1\le l\le r\le N $ , and replace $ A_i $ with $ (A_i+1) \bmod M $ for each $ i=l,l+1,\ldots,r $ .
Find the minimum number of operations required to make $ A $ a palindrome.
Here, $ A $ is a palindrome if $ A_i=A_{N+1-i} $ holds for $ i=1,2,\ldots,N $ .
You are given $ T $ test cases; solve each of them.
Input Format
The input is given from Standard Input in the following format:
> $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $
Each test case is given in the following format:
> $ N $ $ M $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
Output the answers for the test cases in order, separated by newlines.
Explanation/Hint
### Sample Explanation 1
Consider the first test case.
You can make $ A $ a palindrome in three operations as follows:
- Choose $ (l,r)=(2,4) $ . $ A $ becomes $ (0,4,2,3) $ .
- Choose $ (l,r)=(3,4) $ . $ A $ becomes $ (0,4,3,4) $ .
- Choose $ (l,r)=(3,4) $ . $ A $ becomes $ (0,4,4,0) $ .
It is impossible to make $ A $ a palindrome in fewer than three operations, so output $ 3 $ .
### Constraints
- $ 1\le T $
- $ 1\le N\le 2\times 10^5 $
- $ 1\le M\le 10^9 $
- $ 0\le A_i < M $
- The sum of $ N $ over all test cases is at most $ 2\times 10^5 $ .
- All input values are integers.