#include <bits/stdc++.h>
using namespace std;
int distinctSubArray(vector<int> &arr, int k){
int count = 0,sum = 0;
unordered_map<int, int> freq;
for (int i = 0, j = 0; j < arr.size(); j++){
freq[arr[j]]++;
int d = freq.size();
while (d > k){
freq[arr[i]]--;
if(freq[arr[i]] == 0){
freq.erase(arr[i]);
}
i++;
d = freq.size();
}
count += (j-i+1);
}
return count;
}
int main() {
// your code goes here
vector<int> arr = {1, 2, 2};
cout << distinctSubArray(arr, 2);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZGlzdGluY3RTdWJBcnJheSh2ZWN0b3I8aW50PiAmYXJyLCBpbnQgayl7CiAKCWludCBjb3VudCA9IDAsc3VtID0gMDsKCQoJdW5vcmRlcmVkX21hcDxpbnQsIGludD4gZnJlcTsKCWZvciAoaW50IGkgPSAwLCBqID0gMDsgaiA8IGFyci5zaXplKCk7IGorKyl7CiAKCQlmcmVxW2FycltqXV0rKzsKCQlpbnQgZCA9IGZyZXEuc2l6ZSgpOwogCgkJd2hpbGUgKGQgPiBrKXsKCQkJZnJlcVthcnJbaV1dLS07CgkJCWlmKGZyZXFbYXJyW2ldXSA9PSAwKXsKCQkJCWZyZXEuZXJhc2UoYXJyW2ldKTsKCQkJfQoJCQlpKys7CgkJCWQgPSBmcmVxLnNpemUoKTsKCQl9CiAKCQljb3VudCArPSAoai1pKzEpOwogCgl9CiAKCXJldHVybiBjb3VudDsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgl2ZWN0b3I8aW50PiBhcnIgPSB7MSwgMiwgMn07Cgljb3V0IDw8IGRpc3RpbmN0U3ViQXJyYXkoYXJyLCAyKTsKCXJldHVybiAwOwp9