```cpp
// luogu-judger-enable-o2
//这是我的
#include <bits/stdc++.h>
using namespace std;
int n,m,x,ans,l,r,a[1005],b[1005];
int main()
{
cin>>m>>n;
l=0;
r=0;
for (int i=1;i<=n;i++)
{
cin>>x;
if (a[x]==0)
{
ans++;
r++;
b[r]=x;
a[x]=1;
if (r>m)
{
l++;
a[b[l]]=0;
}
}
}
cout<<ans;
return 0;
}
```
by Spider_Man_gjh @ 2018-07-18 14:31:56
其实就是
**栈**
by Spider_Man_gjh @ 2018-07-18 14:33:25
我写的指针
by Spider_Man_gjh @ 2018-07-18 14:34:05
@[kevin0212](/space/show?uid=53956) 我觉得……应该用队列更合适
by shajjl @ 2018-07-18 14:36:07
@[kevin0212](/space/show?uid=53956) 您的代码里好像并没有指针吧
by colazcy @ 2018-07-18 14:36:20
我也不知道我写了些啥
by shajjl @ 2018-07-18 14:36:35
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
vector<int> mem;
int m,n;
cin >> m >> n;
int ans = 0;
for(int i = 1;i <= n;++i){
int x;
cin >> x;
if(find(mem.begin(),mem.end(),x)==mem.end()){
mem.push_back(x);
++ans;
if(mem.size()>m)mem.erase(mem.begin());
}
}
cout << ans;
return 0;
}
```
可以直接上STL,简单粗暴
by colazcy @ 2018-07-18 14:37:27
额.......
我管那个下标叫指针......
by Spider_Man_gjh @ 2018-07-18 14:37:57
好尴尬
by Spider_Man_gjh @ 2018-07-18 14:38:06
@[kevin0212](/space/show?uid=53956) 我们教练也是这样。。。
by colazcy @ 2018-07-18 14:38:23