코딩 연습/백준

[백준 1931] 회의실 배정

pansy0319 2019. 3. 11. 01:22
반응형

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



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
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main() {
    int n;
    cin >> n;
    int* start = new int[n];
    int* end = new int[n];
 
    vector<pair<intint> > order;
    for (int i = 0; i < n; i++) {
        cin >> start[i] >> end[i];
        order.push_back(make_pair(end[i], start[i]));
    }
 
    sort(order.begin(), order.end());
 
    int earliest = 0, selected = 0;
    for (int i = 0; i < order.size(); i++) {
        int meetingBegin = order[i].second, meetingEnd = order[i].first;
        if (earliest <= meetingBegin){
            earliest = meetingEnd;
            selected++;
        }
    }
 
    cout << selected << endl;
 
}
cs


반응형