2013年NOIP全国联赛提高组 ### 1039: 火柴排队
思路:
我们只需保证交换后左边的第K大跟右边的第K大在同一个位置即可。对于左边数组A,右边的数组为B,数组B中第i个数是第k大,所以我们需要把A数组中第k大的数放到第i个。根据这样可以构造一个数组,数组中第 i i i 个值 a [ i ] a[i] a[i] 代表数组A中第 i i i 个数是第k大,且B数组中第k大的位置是 a [ i ] a[i] a[i]
故我们求逆序数即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
ll A[100005],B[100005],pos[100005],seq[100005];
ll sa