小苯的逆序对和
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小苯拿到了一个长度为 n 的排列 a,他希望你帮他找出一对总和最大的逆序对,请你帮帮他吧。(你只需要输出这个最大和即可。)

\hspace{15pt}形式化的:请找出一对下标 i, j\ (1 \leqq i< j \leqq n)a_i>a_j,并最大化 a_i+a_j

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\ (1\leqq T\leqq 100) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行一个正整数 n\ (1 \leqq n \leqq 2 \times 10^5),表示排列 a 的长度。
\hspace{15pt}第二行 n 个正整数 a_i\ (1 \leqq a_i \leqq n),表示排列 a。(保证输入是一个排列。)

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

对于每组测试数据:
\hspace{15pt}在单独的一行输出一个整数,表示最大的 "逆序对和";如果不存在 "逆序对",则输出 0
示例1

输入

复制
2
5
1 3 4 5 2
4
1 2 3 4

输出

复制
7
0

说明

对于第一组测试数据,可以选择 i=4,j=5 这一个逆序对,总和为 a_4+a_5=7 最大。