洛谷—机器翻译
题目链接
就是用队列去做,如果内存满了,就从队列中弹出一个元素放到内存中。
#include<bits/stdc++.h>
using namespace std;
int a[1005];
queue<int> q;
int main() {
int n,m;
cin >> n >> m;
int x,ans = 0;
for(int i = 0;i < m;i++) {
cin >> x;
if(a[x]) continue;
else {
q.push(x);
a[x] = 1;
ans++;
if(q.size() > n) {
a[q.front()] = 0;
q.pop();
}
}
}
cout << ans;
return 0;
}