队列怎么只有30分求助!!!

P1540 [NOIP2010 提高组] 机器翻译

```cpp #include<iostream> #include<cstdio> #include<queue> #include<set> #include<algorithm> using namespace std; int main(){ int m,n; cin>>m>>n; int ans=0; queue<int> que; set<int> s; for(int i=0;i<n;i++){ int num; cin>>num; if(que.size()!=m){ if(s.find(num)==s.end()){ ans++; s.insert(num); que.push(num); } } else{ if(s.find(num)==s.end()){ s.insert(num); ans++; s.erase(que.front()); que.pop(); que.push(num); } } } cout<<ans; return 0; } ``` 可以配合set做,比较容易点。 一点建议
by lb1216161552 @ 2017-08-13 22:24:58


估计是读错题了
by 小shi @ 2017-08-19 22:56:31


|