很简单的模拟,然而才30分。。。
#include <iostream>
#include <queue>
using namespace std;
int m, n;
queue <int> q;
bool find(int k) {
int size = q.size();
for(int i = 1; i <= size; i ++) {
if(k == q.front())
return true;
q.push(q.front());
q.pop();
}
return false;
}
int main() {
int m, n, k;
int cnt = 0;
cin >> m >> n;
for(int i = 1; i <= n; i ++) {
if(q.size() > m)
q.pop();
cin >> k;
if(find(k))
continue;
else {
q.push(k);
cnt ++;
}
}
cout << cnt;
return 0;
}