Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <string.h>#include <algorithm>using namespace std;const int MAXN = 200005;const int MAXDEP = 20;struct NODE{int num;int id;const bool operator<(NODE b) const{return num < b.num;}};int n, q;int a[MAXN];NODE xulie[MAXN];int shu[MAXDEP][MAXN], sum[MAXDEP][MAXN];int get(int k, int l, int r, int t1, int t2, int t3, int dep){int temp, mid, tmp1, tmp2;if (l == r) return xulie[l].num;if (t1 == l)temp = sum[dep][t2];else