Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- int n, x, y;
- stack<int> s;
- queue<int> q;
- priority_queue<int> pq;
- int isq = 1, iss = 1, ispq = 1;
- while(cin >> n){
- isq = 1; iss = 1; ispq = 1;
- while(n--){
- cin >> x >> y;
- if(x){
- s.push(y);
- q.push(y);
- pq.push(y);
- }else if(x == 2){
- if(s.top() != y) iss = 0;
- if(q.front() != y) isq = 0;
- if(pq.top() != y) ispq = 0;
- s.pop();
- q.pop();
- pq.pop();
- }
- }
- if(!isq && !iss && !ispq) cout << "impossible" << endl;
- else if((isq+iss-1) || (isq+ispq-1) || (iss+ispq-1)) cout << "not sure" << endl;
- else if(isq) cout << "queue" << endl;
- else if(iss) cout << "stack" << endl;
- else if(ispq) cout << "priority queue" << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement