#P11506. [2022省队模拟]小Z与函数
[2022省队模拟]小Z与函数
题目背景
小 Z 在写代码,他梦想着一天可以改变世界。
题目描述
在 2021.12.15 晚,小 Z 写下了一个函数......
int get(n)
{
int res=0;
for(int i=1;i<=n;i++)
{
int vs=0;
for(int j=i;j<=n;j++)
if(a[i]<a[j])
swap(a[i],a[j]),res++,vs=1;
res+=vs;
}
return res;
}
小 Z 可以用函数计算一个序列的值。
他有一个长度为 的序列 ,小 Z 想知道,对于 的每个前缀,将其作为一个序列 所求得的函数值是多少?
举个例子,若当前 为 [5,4,4,1] ,则你需要计算以下四个函数值:
get([5]);
get([5,4]);
get([5,4,4]);
get([5,4,4,1]);
请注意,本题多组数据!
输入格式(function.in)
第一行一个数 表示有这么多组数据。
每组数据一行一个数表示 。
接下来一行 个数,第 个数表示 。
输出格式(function.out)
对于每组数据,输出一行共 个数,用空格间隔开来,表示对于每个前缀的函数值。
样例输入 #1
2
5
2 3 2 1 5
10
1 10 2 3 4 1 2 3 4 5
样例输出 #1
0 2 2 2 7
0 2 4 7 11 11 13 16 20 25
样例 #2
见下发样例。
样例说明与提示
对于100%的数据,保证 , ,
测试点编号 | 特殊性质 | |
---|---|---|
无限制 | ||
保证是一个排列 | ||
无限制 | ||
无限制 | 保证是一个排列 | |
无限制 |