Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>using namespace std;typedef long long ll;typedef double db;typedef pair<int,int> pii;#define y1 y1_#define ran() (rand()<<15|rand())const int mo=(int)1e9+7,inf=(int)1e9+7;const ll linf=(ll)1e18;const int N=200005,logN=20;int n,q;int a[N],ord[N];struct tree{tree *l,*r;int ma;} mem[N*logN*2],*newtree=mem;