Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cctype>#include<cmath>#include<set>#include<map>#include<queue>#include<string>#include<vector>#define fr(i,n) for(int i=0;i<n;i++)#define fn(i,n) for(int i=n-1;i>=0;i--)#define fe(i,a) for(__typeof(a.begin()) i=a.begin();i!=a.end();i++)using namespace std;const int N = 200100;int n,Q;int a[N], b[N];int T;struct node {int l,r,s;node *ls,*rs;} t[N<<5];node *r[N];int tot;node *new_node(int l, int r){node *ret = &t[tot++];ret->l = l, ret->r = r;ret->s = 0;