[ICPC2021 Nanjing R] Paimon Sorting

题意翻译

给出一个排序算法(用伪代码表示): ```cpp // 排序算法 SORT(A) for i from 1 to n // n 是序列 A 的元素个数 for j from 1 to n if a[i] < a[j] // a[i] 是序列 A 的第 i 个元素 Swap a[i] and a[j] ``` 请你算出对于一个序列 $A=a_1,a_2,\cdots,a_n$ 的所有前缀 $A_k=a_1,a_2,\cdots,a_k$($1\le k\le n$),$\operatorname{SORT}(A_k)$ 中的交换(Swap)操作将会被执行几次。

题目描述

Paimon just invents a new sorting algorithm which looks much like $\textit{bubble sort}$, with a few differences. It accepts a $1$-indexed sequence $A$ of length $n$ and sorts it. Its pseudo-code is shown below. ```cpp // The Sorting Algorithm SORT(A) for i from 1 to n // n is the number of elements if A for j from 1 to n if a[i] < a[j] // a[i] is the i-th element in A Swap a[i] and a[j] ``` If you don't believe this piece of algorithm can sort a sequence it will also be your task to prove it. Anyway here comes the question: Given an integer sequence $A = a_1, a_2, \cdots, a_n$ of length $n$, for each of its prefix $A_k$ of length $k$ (that is, for each $1 \le k \le n$, consider the subsequence $A_k = a_1, a_2, \cdots, a_k$), count the number of swaps performed if we call $\text{SORT}(A_k)$.

输入输出格式

输入格式


There are multiple test cases. The first line of the input contains an integer $T$ indicating the number of test cases. For each test case: The first line contains an integer $n$ ($1 \le n \le 10^5$) indicating the length of the sequence. The second line contains $n$ integers $a_1, a_2, \cdots, a_n$ ($1 \le a_i \le n$) indicating the given sequence. It's guaranteed that the sum of $n$ of all test cases will not exceed $10^6$.

输出格式


For each test case output one line containing $n$ integers $s_1, s_2, \cdots, s_n$ separated by a space, where $s_i$ is the number of swaps performed if we call $\text{SORT}(A_i)$. Please, DO NOT output extra spaces at the end of each line or your solution may be considered incorrect!

输入输出样例

输入样例 #1

3
5
2 3 2 1 5
3
1 2 3
1
1

输出样例 #1

0 2 3 5 7
0 2 4
0