#include "bits/stdc++.h" using namespace std; const int N = 1e6+5; int a[N],bucket[N],cnt[N]; int bucket_size; struct query{ int l,r,i; }q[N]; int ans=0; void add(int index) { cnt[a[index]]++; if(cnt[a[index]] == 1) ans++; } void remove(int index) { cnt[a[index]]--; if(cnt[a[index]] == 0) ans--; } bool mycmp(query x, query y) { if(x.l/bucket_size != y.l/bucket_size) return x.l/bucket_size < y.l/bucket_size; return x.rL) { add(left-1); left--; } while(right<=R) { add(right); right++; } while(right>R+1) { remove(right-1); right--; } bucket[q[i].i] = ans; } for(i=0;i