队列,用unordered_set查找
#include<bits/stdc++.h>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
queue<int>t;
unordered_set<int>fin;
int ans=0;
while(n--){
int i;
cin>>i;
if(fin.find(i)==fin.end()){
t.push(i);
fin.insert(i);
ans++;
}
if(t.size()>m){
int d=t.front();
fin.erase(d);
t.pop();
}
}
cout<<ans;
}

京公网安备 11010502036488号