A22591.排队
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
排排坐,吃果果,生果甜嗦嗦,大家笑呵呵。你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家乐和和。
红星幼儿园的小朋友们排起了长长地队伍,准备吃果果。不过因为小朋友们的身高有所区别,排成的队伍高低错乱,极不美观。设第 i 个小朋友的身高为 hi。
幼儿园阿姨每次会选出两个小朋友,交换他们的位置,请你帮忙计算出每次交换后,序列的逆序对数。为方便幼儿园阿姨统计,在未进行任何交换操作时,你也应该输出该序列的逆序对数。
输入格式
第一行为一个正整数 n,表示小朋友的数量;
第二行包含 n 个由空格分隔的正整数 h1,h2,…,hn,依次表示初始队列中小朋友的身高;
第三行为一个正整数 m,表示交换操作的次数;
以下m行每行包含两个正整数 ai,bi,表示交换位置 ai 和 bi 的小朋友。
输出格式
输出文件共 m+1 行,第 i 行一个正整数表示交换操作 i 结束后,序列的逆序对数。
输入输出样例
输入#1
3 130 150 140 2 2 3 1 3
输出#1
1 0 3
说明/提示
【样例说明】
未进行任何操作时,(2,3) 为逆序对;
操作一结束后,序列为 130 140 150,不存在逆序对;
操作二结束后,序列为 150 140 130,(1,2),(1,3),(2,3) 共 3 个逆序对。
【数据范围】
对于 15 的数据,n,m≤15;
对于 30 的数据,n,m≤200;
另有 15% 的数据,hi 各不相同;
另有 15% 的数据,110≤hi≤160;
以上两类数据交集为空。
对于100%的数据,1≤m≤2×103,1≤n≤2×104,1≤hi≤109,ai=bi,1≤ai,bi≤n。