본문 바로가기

백준/골드

[백준 19598번] 최소 회의실 개수 (C++)

문제링크 : https://www.acmicpc.net/problem/19598

 

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = INT_MAX;

int N, B, C; //강의 갯수, 시작 시간, 종료 시간
int cnt=1; //최소 강의실
vector<pii>v;
priority_queue<int, vector<int>, greater<int>> pq;

int main()
{
    ios_base::sync_with_stdio(0); 
	cin.tie(0);

    cin >> N;
    for(int i=0; i<N; i++)
    {
        cin >> B >> C;
        v.push_back({B, C});
    }

    sort(v.begin(), v.end());

    for(int i=0; i<v.size(); i++)
    {
        auto [s, e] = v[i];
        if(pq.empty()) pq.push(e);
        else
        {
            if(pq.top() > s) cnt++; //강의실 추가
            else pq.pop(); //기존 강의실 이용
            pq.push(e);
        }
    }

    cout << cnt;
    
    return 0;
}

 

백준 1374번 강의실 문제와 입력받는 부분만 살짝 다르고 사실상 같은 코드로 통과 가능한 문제이다.

참고링크 : https://blob-thinking.tistory.com/684

 

[백준 1374번] 강의실 (C++)

문제링크 : https://www.acmicpc.net/problem/1374 #include using namespace std;typedef long long ll;typedef pair pii;const int MAX = INT_MAX;int N, A, B, C; //강의 갯수, 강의 번호, 시작 시간, 종료 시간int cnt=1; //최소 강의실vectorv

blob-thinking.tistory.com

 

'백준 > 골드' 카테고리의 다른 글

[백준 3151번] 합이 0 (C++)  (0) 2024.07.05
[백준 2141번] 우체국 (C++)  (0) 2024.07.05
[백준 1374번] 강의실 (C++)  (0) 2024.07.03
[백준 11000번] 강의실 배정 (C++)  (0) 2024.03.21
[백준 2230번] 수 고르기 (C++)  (0) 2024.03.17