题目链接:https://www.luogu.org/problem/
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
bool iq[100003];
queue<int> memory;
int main(){
int m,n;
scanf("%d%d",&m,&n);
int cnt=0;
for(int i=0;i<n;i++){
int v;
scanf("%d",&v);
if(!iq[v]){
++cnt;
memory.push(v);
iq[v]=true;
while(memory.size()>m){
iq[memory.front()]=false;
memory.pop();
}
}
}
printf("%d\n",cnt);
return 0;
}
队列基础函数: