1 条题解
-
0Guest
-
0
#include<bits/stdc++.h> using namespace std; queue<int>q;//创建列表 bool a[114514]={false};//创建内存(计数思想) int main() { int m,n,x,k=0,bloodpressure=0;//bloodpressure为作者血压(划)查询次数 scanf("%d%d",&m,&n);//=cin>>m>>n for(int i=0;i<n;i++) { scanf("%d",&x);//=cin>>x if(k<m)//如果内存没爆 { if(!a[x])//检测内存有没有x { q.push(x);//添加x到队尾 a[x]=true;//添加进内存库 k++;//内存数量加一 bloodpressure++;//查询次数加一 } } else//内存爆了 { if(!a[x])//同上 { a[q.front()]=false;//内存最早的数删掉 q.pop();//删掉队首 q.push(x);//添加x进队尾 a[x]=true;//同上 bloodpressure++;//同上 } } } printf("%d",bloodpressure); return 0; }
- 1
信息
- ID
- 430
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 64
- 已通过
- 14
- 上传者