좁은 미술관
시간 제한2초메모리 제한256 MB
같은 행을 모두 닫거나 대각선으로 닿는 방을 닫지 않으면서 정확히 k개 방을 닫고 열린 방 가치 합을 최대화합니다.
- 난이도
보통10점 중 5점
- 유형
- 동적 계획법
- 정답자
- 아직 제출이 없습니다
문제
길쭉한 미술관에 방이 개 있다. 미술관은 세로로 줄, 가로로 2칸인 격자 모양이고, 위아래로 붙은 방과 양옆으로 붙은 방은 서로 통한다. 오늘 근무하는 큐레이터는 운영비를 줄이려고 방 개를 닫으라는 통보를 받았다.
관람객은 한쪽 끝 줄의 두 방 중 적어도 한 곳으로 들어와서 반대쪽 끝 줄의 두 방 중 한 곳으로 나갈 수 있어야 한다. 그러려면 큐레이터는 같은 줄에 있는 두 방을 모두 닫아서는 안 되고, 대각선으로 맞닿은 두 방을 함께 닫아서도 안 된다. 같은 세로 열에서 위아래로 붙은 두 방을 닫는 것은 괜찮다.
각 방을 공개했을 때 얼마나 큰 가치가 생기는지는 큐레이터가 이미 알고 있다. 위 조건을 지키면서 방을 정확히 개 닫을 때, 열려 있는 방의 가치 합을 최대로 만들어라.
입력
입력은 미술관 여러 개로 이루어진다. 각 미술관의 첫 줄에는 두 정수 과 (, )가 주어진다. 은 미술관의 세로 길이이고, 는 닫아야 하는 방의 수이다. 이어지는 개의 줄에는 줄마다 두 정수가 주어지며, 그 줄의 왼쪽 방과 오른쪽 방의 가치를 뜻한다. 각 방의 가치 는 0 이상 100 이하이다.
마지막 미술관의 정보 뒤에는 0 0이 한 줄 주어지고 입력이 끝난다.
출력
미술관마다 관람객에게 공개할 수 있는 가치의 최대 합을 한 줄에 하나씩, 입력에 나온 순서대로 출력한다.