fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n1,k;
  6. cin>>n1>>k;
  7. int A[n1];
  8. for(int i = 0 ; i<n1 ; i++){
  9. cin>>A[i];
  10. }
  11. unordered_map<int,int>m;
  12. int i = 0 , j = 0;
  13. int cnt = 0;
  14. while(j<n1){
  15. m[A[j]]++;
  16. int d = m.size();
  17. while(d>k){
  18. m[A[i]] = m[A[i]] - 1;
  19. if(m[A[i]]==0){
  20. m.erase(A[i]);
  21. }
  22. i++;
  23. d = m.size();
  24. }
  25. cnt += (j-i+1);
  26. j++;
  27. }
  28. cout<<cnt<<endl;
  29. return 0;
  30. }
Success #stdin #stdout 0.01s 5288KB
stdin
3 2 
1 2 3 
stdout
5