题目传送门
#includeusing namespace std; typedef long long ll; const int m = 1e5+10; int a[m]; int cnt[m]; int ans=0; int arr[m]; int block; struct node{ int l,r,id; }query[m]; bool cmp(node a,node b){ return a.l/block==b.l/block?a.r/block query[i].r)add(a[--r]); while(l query[i].l)del(a[l--]); arr[query[i].id]=ans; } for(int i=1;i<=q;++i)printf("%dn",arr[i]); } return 0; }



