Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<algorithm>#include<cassert>#include<cstdio>#include<cmath>#include<ctime>#include<cstring>using namespace std;#define minN 1#define maxN 100000#define maxL 1000000000#define mina_i 0#define maxa_i L#define minb_i 0#define maxb_i Ltemplate<typename Type>struct SBNode{int size;Type key;SBNode<Type>* lchild;SBNode<Type>* rchild;SBNode(){}SBNode(SBNode<Type>*l,SBNode<Type>*r,int s,Type k):lchild(l),rchild(r),size(s),key(k) {}};template<typename Type>class SBTree{private:SBNode<Type>* root;