Beakjoon 1931 회의실 배정

Baekjoon Online Judge

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

나의 풀이

회의의 최대 개수를 결정하는 것은 회의 종료시간이다.
회의 종료시간이 가장 빠른 순서대로 회의를 결정하면 문제를 쉽게 해결할 수 있다.

풀이 코드 : 1931 회의실 배정

#include <vector>
#include <stdio.h>
#include <algorithm>

using namespace std;

bool compare(pair<long long,long long> a, pair<long long, long long> b){
    return a.second < b.second;
}

int main(){
    int N;
    scanf("%d",&N);
    
    vector<pair<long long,long long>> meeting;
    long long start, end;
    for(int i = 0;i<N;i++){
        scanf("%lld %lld", &start, &end);
        meeting.push_back(make_pair(start, end));
    }

    sort(meeting.begin(), meeting.end(), compare);
    
    int answer = 0;
    long long last = -1;
    
    for(int i = 0;i<meeting.size();i++){
        if( last <= meeting[i].first){
            last = meeting[i].second;
            answer++;
        }    
    }
    printf("%d", answer);
}

채점결과

49993


© 2020. All rights reserved.

Powered by Hydejack v8.4.0