```cpp
#include<iostream>
#include<cstdio>
#include<queue>
#include<set>
#include<algorithm>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int ans=0;
queue<int> que;
set<int> s;
for(int i=0;i<n;i++){
int num;
cin>>num;
if(que.size()!=m){
if(s.find(num)==s.end()){
ans++;
s.insert(num);
que.push(num);
}
}
else{
if(s.find(num)==s.end()){
s.insert(num);
ans++;
s.erase(que.front());
que.pop();
que.push(num);
}
}
}
cout<<ans;
return 0;
}
```
可以配合set做,比较容易点。
一点建议
by lb1216161552 @ 2017-08-13 22:24:58
估计是读错题了
by 小shi @ 2017-08-19 22:56:31