STL中的队列

queue.front()
queue.back()
queue.empty()
queue.size()
queue.push()
queue.pop()

//简单题
#include<iostream>
#include<queue>
using namespace std;
bool inqueue[100003]={0};   //用bool数组判断是不是已经在queue中了
queue<int> memory;

int main()
{
	int m,n;
	cin>>m>>n;
	
	int cnt=0; //要查的次数 
	
	for(int i=0;i<n;i++)
	{
		int num;
		cin>>num;
		
		if(!inqueue[num]) //先判断
		{
			cnt++;
			memory.push(num);
			inqueue[num]=true;
		}
		
		while(memory.size()>m)
		{
			inqueue[memory.front()]=false;
			memory.pop();
		}
	} 
	
	cout<<cnt<<endl;
	return 0;
}
 posted on 2020-04-08 22:08  My_serendipity  阅读(122)  评论(0编辑  收藏  举报