CF1990F Polygonal Segments
Description
You are given an array $ a $ of size $ n $ .
A segment $ [l, r](1 \le l < r \le n) $ is called a polygonal segment only if the following conditions hold:
- $ (r-l+1) \geq 3 $ ;
- Considering $ a_l, a_{l+1}, \ldots, a_r $ as side lengths, these sides can form a polygon with $ (r-l+1) $ sides.
Process $ q $ queries of two types:
- "1 l r": find the length of the longest segment among all polygonal segments $ [l_0,r_0] $ satisfying $ l \le l_0 \le r_0 \le r $ . If there is no such polygonal segment, output $ -1 $ instead;
- "2 i x": assign $ a_i := x $ .
Input Format
The first line contains an integer $ t $ ( $ 1 \leq t \leq 10^4 $ ) — the number of test cases.
For each test case:
- The first line of each testcase contains two integers $ n $ , $ q $ ( $ 4 \le n \le 2\cdot 10^5 $ , $ 1 \le q \le 10^5 $ );
- The second line of each testcase contains $ n $ integers $ a_1,a_2,\ldots, a_n $ ( $ 1 \le a_i \le 10^{12} $ );
- The following $ q $ lines contain the description of queries. Each line is of one of two types:
- "1 l r" ( $ 1 \le l < r \le n $ , $ r-l+1\ge 3 $ );
- "2 i x" ( $ 1 \le i \le n $ , $ 1 \le x \le 10^{12} $ ).
It is guaranteed that the sum of $ n $ over all test cases will not exceed $ 2 \cdot 10^5 $ , and the sum of $ q $ over all test cases will not exceed $ 10^5 $ .
Output Format
For each query, if there is no suitable segment, output $ -1 $ in a new line. Otherwise, output the length of the longest segment satisfying the condition above in a new line.
Explanation/Hint
In the first query of the first test case, there is no polygonal segment under the given condition. For example, considering segment $ [1,3] $ , you can not form a triangle with side lengths of $ a_1=3 $ , $ a_2=1 $ , and $ a_3=2 $ .
In the second query of the first test case, the longest polygonal segment is $ [1,4] $ . You can form a quadrilateral with side lengths of $ a_1=3 $ , $ a_2=1 $ , $ a_3=2 $ , and $ a_4=2 $ .
 An example of a quadrilateral with side lengths of $ 3 $ , $ 1 $ , $ 2 $ , and $ 2 $ .