func_code_string: #include <bits/stdc++.h>   int mod = 1000000007;   using namespace std;   using namespace std;   int n, k;   int a[400005];   int pos[400005];   map<int, int> m;   int main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     ;     cin >> n >> k;     for (int i = 1; i <= n; i++) pos[i] = 1e7;     m[a[1]] = 1e7;     for (int i = 1; i <= n; i++) {       cin >> a[i];     }     for (int i = 1; i <= n; i++) {       pos[m[a[i]]] = i;       m[a[i]] = i;     }     int ans = 0;     set<int> s;     set<pair<int, int> > ss;     for (int i = 1; i <= n; i++) {       if (!s.count(a[i])) {         if (s.size() < k) {           ans++;           s.insert(a[i]);           ss.insert(make_pair(pos[i], a[i]));         } else {           ans++;           set<pair<int, int> >::iterator it = ss.end();           it--;           int val = (*it).second;           ss.erase(it);           s.erase((val));           s.insert(a[i]);           ss.insert(make_pair(pos[i], a[i]));         }       } else {         ss.erase(ss.begin());         ss.insert(make_pair(pos[i], a[i]));       }     }     cout << ans;   }   