模拟队列写的,哪里有问题啊qwq
#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
int q[N];
int m,n;
int front, rear, beginn;
void push (int x)
{
if (front <= rear)
{
q[front] = x;
front ++;
}
}
void pop ()
{
beginn ++;
rear ++;
}
int main()
{
memset (q, -1, N);
cin >> m >> n;
rear = m - 1;
int cnt = 0;
for (int i = 1; i <= n; i++)
{
int a;
cin >> a;
bool f = 1;
for (int j = beginn-1; j <= rear; j++)
{
if (a == q[j])
{
f = 0;
break;
}
} if (f)
{
push (a);
cnt ++;
}
if (front > rear) pop ();
}
cout << cnt;
return 0;
}