编程题
### 问题描述 最初,大衣有一个长度为 $N$ 的数组 $A$,他可以对数组 $A​$ 进行最多一次以下操作: - 选择两个整数 $L,R$ 满足 $1\le L\le R\le N$,然后对于所有的 $L\le i\le R$,将 $A_i$ 修改为 $A_i+1$。 令操作后的新数组为 $B​$,请求出数组 $B​$ 比数组 $A​$ 逆序对减少量的最大值。 ### 输入格式 第一行输入一个正整数 $T$ 表示测试数据的组数。 接下来 $T$ 组测试数据每组输入两行: - 第一行输入一个正整数 $N$ 表示数组 $A$ 的长度。 - 第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示数组 $A$ 的元素。 ### 输出格式 对于每组测试数据,输出数组 $B$ 比数组 $A$ 逆序对减少量的最大值,并换行。 ### 样例输入 ```text 3 5 4 2 3 1 5 6 1 2 3 4 5 6 4 2 1 1 1 ``` ### 样例输出 ```text 2 0 3 ``` ### 说明 样例 $1​$:最初的数组 $A=[4,2,3,1,5]​$,它有 $5​$ 个逆序对。我们可以选择 $L=3,R=4​$ 进行一次操作,新数组 $B=[4,2,4,2,5]​$,它有 $3​$ 个逆序对。因此逆序对的减少量为 $5-3=2​$,可以证明这是最大的减少量。 样例 $2$:最初的数组 $A=[1,2,3,4,5,6]$,它有 $0$ 个逆序对。我们可以不操作,数组 ​$B=[1,2,3,4,5,6]$,它有 ​$0$ 个逆序对。因此逆序对的减少量为 ​$0-0=0$,可以证明这是最大的减少量。 样例 $3$:最初的数组 $A=[2,1,1,1]$,它有 $3$ 个逆序对。我们可以选择 $L=2,R=4$ 进行一次操作,新数组 $B=[2,2,2,2]$,它有 $0$ 个逆序对。因此逆序对的减少量为 $3-0=3$,可以证明这是最大的减少量。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 20$,$1\le N\le 10^4$,$1\le A_i\le N$。
查看答案
赣ICP备20007335号-2