| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 229 | 59 | 43 | 28.667% |
오늘도 열심히 하늘을 날며 곡예 연습을 하던 포닉스는 문득 포스텍의 건물들이 자신의 비행을 방해한다고 생각했다. 더욱 자유로운 비행을 원했던 포닉스는 결국 학교 건물을 무너뜨리기로 결심했다!
포스텍의 건물은 아래와 같은 구조로 이루어져 있다.
아래의 그림에서 건물 A는 위 조건들을 모두 만족하는 적절한 건물이며, 건물 B는 7ドル$번 벽돌이 공중에 뜬 벽돌이므로 적절한 건물이 아니다.
건물 A
건물 B
하지만 굳건하게 지어진 포스텍의 건물을 한순간에 무너뜨리는 것은 쉬운 일이 아니다. 따라서 포닉스는 건물에서 정확히 1ドル$개의 벽돌을 제거해서 최대한 많은 벽돌을 무너뜨리고 싶어한다. 이때 건물은 다음과 같은 과정을 통해 무너진다.
포닉스는 실제로 건물을 무너뜨리기 전, 얼마나 많은 벽돌이 무너질지 미리 알고 싶어한다. 포닉스를 대신해 무너뜨릴 수 있는 벽돌의 개수의 최댓값을 알려주자! 처음에 제거한 벽돌 또한 무너뜨린 벽돌에 포함됨에 유의하라.
첫 번째 줄에 벽돌의 개수 $N$과 건물의 높이 $H$가 공백으로 구분되어 주어진다. (1ドル \leq N, H \leq 500\ 000$)
두 번째 줄부터 $N$개의 줄에 걸쳐 각 벽돌의 정보를 나타내는 3ドル$개의 정수 $h_i,ドル $l_i,ドル $r_i$가 공백으로 구분되어 주어진다. 이는 $i$번 벽돌이 $h_i$층에 있으며, 좌표평면 상에서 벽돌의 왼쪽 끝의 $x$좌표가 $l_i,ドル 맨 오른쪽 끝의 $x$좌표가 $r_i$라는 뜻이다. $( 1 \leq h_i \leq H; 0 \leq l_i < r_i \leq 10^9)$
모든 층에 적어도 1ドル$개 이상의 벽돌이 존재하며, 같은 층의 벽돌들이 서로 겹치지 않고, 공중에 뜬 벽돌이 존재하지 않음이 보장된다.
1ドル$개의 벽돌을 제거해 무너뜨릴 수 있는 벽돌의 최대 개수를 출력한다.
5 3 1 1 4 1 6 8 2 0 2 3 1 3 2 3 7
3
위 그림은 [예제 1]의 건물이다. 1ドル$번 벽돌을 제거했을 때 3ドル$번, 4ドル$번 벽돌이 차례대로 무너지고, 총 3ドル$개의 벽돌이 무너지게 된다.
9 3 1 0 1 1 1 5 1 5 6 1 6 7 2 0 2 2 2 3 2 3 4 2 4 7 3 0 7
3
위 그림은 [예제 2]의 건물이다. 2ドル$번 벽돌을 제거했을 때 6ドル$번, 7ドル$번 벽돌이 차례대로 무너지고, 총 3ドル$개의 벽돌이 무너지게 된다.
University > POSTECH > 2024 POSTECH Programming Contest > Contest G번
University > POSTECH > 2024 POSTECH Programming Contest > Open Contest G번