https://www.acmicpc.net/problem/14612



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
 
int main(){
    vector<pair<int,int>> order; // time, table num
    int N, M;
    
    cin >> N >> M;
    
    for(int i = 0; i < N; i++){
        string s;
        int n,t;
        
        cin >> s;
        
        if(s == "order"){
            cin >> n >> t;
            order.push_back({t,n});
        }
        else if(s == "sort")
            sort(order.begin(), order.end());
        else if(s == "complete"){
            cin >> t;
            
            vector<pair<int,int>>::iterator iter;
            
            for(iter = order.begin(); iter != order.end(); iter++){
                if(t == (*iter).second){
                    order.erase(iter);
                    break;
                }
            }
        }
        
        if(order.empty())
            cout << "sleep\n";
        else{
            for(int j = 0; j < order.size(); j++)
                cout << order[j].second << ' ';
            cout << endl;
        }
 
            
    }
}
cs


반응형

+ Recent posts