fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6. int n;
  7. cin>>n;
  8. int k;
  9. cin>>k;
  10. int arr[n];
  11. for(int i=0;i<n;i++)
  12. {
  13. cin>>arr[i];
  14. }
  15.  
  16. int i=0,j=0,d,count=0;
  17. unordered_map<int,int>mp;
  18. while(i<n && j<n)
  19. {
  20. mp[arr[j]]++;
  21. d=mp.size();
  22. while(d>k)
  23. {
  24. mp[arr[i]]--;
  25. if(mp[arr[i]]==0)
  26. mp.erase(arr[i]);
  27. d=mp.size();
  28. i++;
  29. }
  30. count+=j-i+1;
  31. j++;
  32. }
  33. cout<<count;
  34. return 0;
  35. }
Success #stdin #stdout 0.01s 5276KB
stdin
3 2 
1 2 3 
stdout
5