[백준] 19622번 회의실 배정 3 (C++)

2025. 9. 6. 20:50·Algorithm
728x90

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

 

 

이 문제는 N개의 회의가 존재할때 각각의 회의마다 시작 시간, 끝나는 시간, 회의실의 최대 수용 인원이 주어진다.

 

이때 회의가 겹치지 않게 회의실을 선택하여 최대 수용인원의 개수를 출력하는 문제이다.

 

이때 주어진 문제의 조건에서 임의의 회의 K는 K-1과 K+1이 겹치고 다른 회의와는 겹치지 않는 조건이 존재한다.

 

이 조건을 보지 못해서 문제를 푸는데 시간이 꽤 오래 걸렸다.

 

 

정답코드

#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
typedef long long ll;
#define endl "\n"
#define MAX 1e9

struct coordinate {
    int x;
    int y;
    int r;
};

int dx[] = {0, -1, 0, 1, 1, -1, -1, 1};
int dy[] = {-1, 0, 1, 0, -1, 1, -1, 1};
int N;
vector<tuple<int, int, int>> v;
int dp[100001];

void solve() {
    dp[0] = get<2>(v[0]);
    dp[1] = max(dp[0], get<2>(v[1]));


    for(int i = 2; i < N; i++) {
        dp[i] = max(dp[i-2] + get<2>(v[i]), dp[i-1]);
    }

    cout << dp[N-1];
}

void input() {
    cin >> N;

    for(int i = 0; i < N; i++) {
        int a, b, c;
        cin >> a >> b >> c;
        v.push_back({a, b, c});
    }
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);

    input();
    solve();
}

 

dp[0], dp[1]을 먼저 구해놓는다 이후에 현재 보는 회의가 i라고 했을때 i-1과는 겹치기 때문에 i-2와 현재 회의의 수용할 수 있는인원의 합과 이전 회의의 수용값을 비교하여 최댓값으로 갱신해준다.

 

 

728x90
저작자표시 (새창열림)

'Algorithm' 카테고리의 다른 글

[백준] 23305번 수강변경 (C++)  (0) 2025.09.08
[백준] 16472번 고냥이 (C++)  (0) 2025.09.07
[백준] 1411번 비슷한 단어 (C++)  (0) 2025.09.05
[백준] 3078번 좋은 친구 (C++)  (0) 2025.09.04
[백준] 10653번 마라톤 2 (C++)  (0) 2025.09.03
'Algorithm' 카테고리의 다른 글
  • [백준] 23305번 수강변경 (C++)
  • [백준] 16472번 고냥이 (C++)
  • [백준] 1411번 비슷한 단어 (C++)
  • [백준] 3078번 좋은 친구 (C++)
쿨쿨.
쿨쿨.
  • 쿨쿨.
    All of the life
    쿨쿨.
  • 전체
    오늘
    어제
    • 분류 전체보기 (284) N
      • Programming (51) N
        • C, C++ (18)
        • Python (6)
        • Java (1)
        • HTML,CSS,JS (3)
        • SQL(DB) (13)
        • SpringBoot (7) N
        • Android (2)
        • CI,CD (1)
      • Algorithm (173)
        • Review (4)
      • Security (14)
        • WebHacking (3)
        • Websecurity (11)
      • OS (19)
        • Linux (12)
        • Mac os (2)
      • 머신러닝 (1)
      • CS(Computer Science) (12)
        • 컴퓨터 네트워크 (3)
        • 컴퓨터 구조 (1)
        • 인공지능 (8)
      • Docker (2) N
      • Dev Book Review (3)
        • Clean Code (1)
        • Effective Java (0)
        • Real MySQL (2)
      • SWM (1)
      • Review (6)
      • AWS (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    우선순위 큐
    DP
    구현
    Bandit
    다익스트라
    누적합
    재귀
    우선순위큐
    깊이우선탐색
    시뮬레이션
    BFS
    코딩
    정렬
    백트래킹
    그리디
    트리
    그래프 이론
    WebSecurity
    백준
    이분탐색
    c언어
    에라토스테네스의 체
    linux
    투포인터
    브루트포스
    wargame
    Leviathan
    DFS
    다이나믹 프로그래밍
    비트마스킹
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.6
쿨쿨.
[백준] 19622번 회의실 배정 3 (C++)
상단으로

티스토리툴바