Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <set>#include <algorithm>using namespace std;#define lson o<<1#define rson o<<1|1const int maxn = 1e5 + 10;int setv[maxn<<2];int x[maxn];int y[maxn];int pos[maxn<<2];int n, L;int Bin(int key){int l = 1, r = n;while(l <= r){int m = (l + r)>>1;if(pos[m] == key)return m;if(pos[m] < key) l = m + 1;else r = m - 1;}return -1;}void build_tree(int o, int l, int r){int m = (l + r)>>1;setv[o] = 0;if(l == r - 1)return ;