fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5.  
  6. int main() {
  7. ll n, k;
  8. cin >> n >> k;
  9.  
  10. vector<ll> a(n);
  11.  
  12. for(ll i = 0; i < n; i++)
  13. cin >> a[i];
  14.  
  15. map<ll, ll> mp;
  16.  
  17. ll l = 0;
  18. ll ans = 0;
  19.  
  20. for(ll r = 0; r < n; r++) {
  21. mp[a[r]]++;
  22.  
  23. while(mp.size() > k) {
  24. mp[a[l]]--;
  25.  
  26. if(mp[a[l]] == 0)
  27. mp.erase(a[l]);
  28.  
  29. l++;
  30. }
  31.  
  32. ans += r - l + 1;
  33. }
  34.  
  35. cout << ans << '\n';
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0s 5316KB
stdin
5 2
1 2 1 2 3
stdout
12