#include #include #include #include #include #include using namespace std; const int maxn=1100,maxQ=100100; int a[maxn],C[maxn],n; void add(int x,int v){ while(x<=n){ C[x]+=v; x+=(x&-x); } } int get(int x){ int ans=0; while(x){ ans+=C[x]; x-=(x&-x); } return ans; } struct item{ int l,r,id; bool operator<(const item &rhs)const{return la[j]){ nxd[nxc].l=i; nxd[nxc].r=j; ++nxc;add(j,1); } sort(nxd,nxd+nxc); sort(quest,quest+q); int pos=0; for(int i=0;i