二分法(200+ms)
#include <cstdio>
#include <algorithm>
#define MAXN 100010
#define RE register
using namespace std;
int a[MAXN];
int b[MAXN];
inline int read() {
int x = 0;
char c = getchar();
while (c < '0' || c > '9') {
c = getchar();
}
while ('0' <= c && c <= '9') {
x = (x << 3) + (x << 1) + (c ^ 0x30);
c = getchar();
}
return x;
}
void mqsort(const int & l, const int & r) {
int mid = a[(l + r) >> 1];
int i = l;
int j = r;
w