BOJ 8372 Conference - Rectification
문제 내용
컨퍼런스에서 개의 발표를 진행하려고 합니다. 발표는 한 번에 명이 들어갈 수 있는 발표장에서 진행되며, 발표장 1개를 빌리는 비용은 입니다. 하나의 발표를 듣고자 하는 사람의 수 가 보다 클 경우에는 발표장 개를 빌려야 하며, 여러 개의 발표를 진행하기 위해서는 각각의 발표에 필요한 발표장의 개수의 합만큼을 빌려야 합니다.
번째 발표의 티켓 값은 입니다. 임이 보장됩니다. 즉, 한 발표장에 들어갈 수 있는 사람 수의 절반 이상을 채우면 절대 손해를 보지 않습니다.
개의 단체가 발표를 듣기 위해 티켓을 예매했습니다. 이들 단체 중 일부의 예매를 취소하여 컨퍼런스가 얻는 이익이 최대가 되게 하세요. 어떤 단체 내에서 티켓의 일부만을 취소할 수는 없습니다.
입력
첫 줄에는 발표의 수 , 예약한 단체의 수 , 발표장의 크기 , 발표장 1개를 빌리는 비용 가 주어집니다. (, , , )
다음 줄에는 각 발표의 티켓 한 장의 가격 를 의미하는 개의 수가 주어집니다. ()
다음 줄에는 번째 단체가 예약한 발표 번호 와 티켓 수 가 주어집니다. (, )
출력
최대 이익을 출력합니다.
문제 풀이
스포일러
먼저, 각 발표에서 얻는 이득은 독립이므로, 하나의 발표에 대한 풀이를 찾은 다음 모든 답을 더해서 출력하면 됩니다.
라는 조건으로부터, 아무것도 취소하지 않았을 때 필요한 발표장의 수에서 2개 이상을 줄이는 것은 절대 이득이 될 수 없음을 알 수 있습니다. 따라서, 모든 예약을 그대로 받는 것과, 적당히 예약을 취소해서 발표장을 하나 줄이면서 최대한 적은 티켓을 취소하는 경우 2가지만을 비교하면 됩니다.
후자를 구하기 위해서는 냅색을 풀어야 합니다. 가 억 단위를 넘어가므로 그냥 냅색으로는 통과하기 어려울 수 있고, 가능한 티켓의 수만 알면 되므로 비트셋 냅색을 적용하는 것이 좋습니다.