페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2506

[초등부] 2025 KOI 1차대회 대비 모의고사 (5주차)

책장 병목
서브태스크
1초 1024MB

문제

브리안나는 독서광이다. 집에는 그녀가 좋아하는 책들로 가득 찬 큰 책장이 있다.

그녀의 컬렉션은 탐정 소설, 공상 과학 소설부터 전기까지 다양하다.

최근 브리안나는 n 권의 그래픽 소설을 추가했다.

그러나 새로운 책들은 현재 집안 곳곳에 쌓여 있고, 바닥에는 거대한 더미를 이루고 있다.

그 사이, 책장 한 쪽은 먼지와 어울리지 않는 가정용 기구들로 엉망이 되어 있다.

바닥에 쌓인 새로운 책들이 너무 많아져서 브리안나는 마침내 그 책들을 책장 위에 올리기로 결심했다. 하지만 먼저 책장 위를 정리해야 한다.

브리안나는 책들을 서로 쌓지 않고 수평으로 정렬하고 싶어한다.

책장이 모든 책을 문제 없이 수용할 수 있을 만큼 넓지만, 책장 정리하는 데 시간이 걸리기 때문에 브리안나는 정리해야 할 책장 부분의 폭을 최소화하고 싶어한다.

각 책은 세 개의 변 길이 l, w, h로 설명할 수 있는 직육면체이다.

책장 위의 공간은 그 위의 책장과의 간격 H로 제한되므로, 책을 세로로 놓기 위해서는 세로 변 길이가 H 이하이어야 한다.

브리안나는 각 책을 3차원 공간에서 원하는 대로 회전할 수 있다.

책장이 깊어서 어떤 방향으로 놓아도 책이 떨어지지 않지만,
모든 책은 반드시 책장 위에 전체 면을 닿게 올려야 하며, 가장자리에만 닿아서는 안 된다.

브리안나의 책들이 필요한 최소한의 책장 폭은 얼마일까?


입력

한 줄에 두 개의 정수 nH가 주어진다 (1 \leq n \leq 10^5, 1 \leq H \leq 10^9). 책의 개수와 책장 높이이다.

다음 n 줄에는 각 책의 세 개의 정수 l, w, h가 주어진다 (1 \leq l, w, h \leq 10^9). 책의 크기이다.


출력

브리안나의 책들이 필요한 최소한의 책장 폭을 출력하라. 만약 책을 책장에 놓는 것이 불가능하다면 "impossible"을 출력하라.


부분문제

번호 점수 조건
#130점

n \le 100

#270점

추가 제약 조건 없음


예제 #1

1 3
10 2 5
5

예제 #2

1 3
10 4 5
impossible

예제 #3

2 10
10 2 10
2 3 4
4

예제 #4

3 1000000000
1000000000 1000000000 1000000000
1000000000 1000000000 1000000000
1000000000 1000000000 1000000000
3000000000
로그인해야 코드를 작성할 수 있어요.