vector<int> countDistinct(vector<int> &arr, int k) {
// code here.
vector<int> res;
unordered_map<int, int> map;
for(int i = 0; i<k; i++)
map[arr[i]]++;
res.push_back(map.size());
for(int i = k; i<arr.size(); i++) {
map[arr[i]]++;
map[arr[i-k]]--;
if(map[arr[i-k]] == 0)
map.erase(arr[i-k]);
res.push_back(map.size());
}
return res;
}