기계 공작소

시간 제한2초메모리 제한128 MB

요약
D일 동안 기계를 한 대씩만 보유하면서 사고팔 수 있을 때, 마지막 날 얻게 되는 최대 금액을 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정렬, 이분 탐색, 그리디
정답자
아직 제출이 없습니다

문제

당신은 더 발전된 기계를 이용해 발전된 기계를 만드는 회사 Arbitrarily Complex Machines(줄여서 ACM)의 이사이다. 기존 생산 기계가 고장 나서 새 생산 기계를 사야 한다. 목표는 구조 조정 기간 동안 최대한 많은 돈을 버는 것이다. 이 기간 동안 당신은 기계를 사고팔 수 있으며, ACM이 소유하고 있는 동안 기계를 가동해 이익을 낼 수 있다. 공간 제약 때문에 ACM은 한 번에 최대 한 대의 기계만 소유할 수 있다.

구조 조정 기간에는 여러 대의 기계가 판매된다. 당신은 이 시장의 전문가라서 각 기계 MiM_i의 가격 PiP_i와 판매되는 날 DiD_i를 이미 알고 있다. 만약 DiD_i일에 기계 MiM_i를 사지 않으면 다른 사람이 사 가서 나중에는 살 수 없다. 또한 ACM이 가진 돈이 기계의 가격보다 적으면 그 기계를 살 수 없다.

DiD_i일에 기계 MiM_i를 사면, ACM은 Di+1D_i + 1일부터 그 기계를 가동할 수 있다. 기계가 가동하는 날마다 GiG_i달러의 이익이 발생한다.

기계를 산 뒤에는 아무 날에나 팔아 구매 가격의 일부를 회수할 수 있다. 각 기계에는 되팔 수 있는 가격 RiR_i가 있다. 기계를 파는 날에는 그 기계를 가동할 수 없지만, 같은 날에 기계를 팔고 그 돈으로 새 기계를 살 수는 있다.

구조 조정 기간이 끝나면 ACM은 소유하고 있는 기계를 모두 판다. 당신의 과제는 구조 조정 기간 동안 ACM이 버는 돈을 최대로 만드는 것이다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 세 양의 정수 NN, CC, DD가 주어진다. NN은 판매되는 기계의 수(N≤105N \le 10^5), CC는 ACM이 처음 가진 달러의 수(C≤109C \le 10^9), DD는 구조 조정이 지속되는 날 수(D≤109D \le 10^9)이다.

다음 NN개의 줄에는 각각 판매되는 기계 하나를 나타내는 네 정수 DiD_i, PiP_i, RiR_i, GiG_i가 주어진다. 각각 기계가 판매되는 날, 사는 가격, 되파는 가격, 가동으로 얻는 하루 이익이다. 이들은 1≤Di≤D1 \le D_i \le D, 1≤Ri<Pi≤1091 \le R_i < P_i \le 10^9, 1≤Gi≤1091 \le G_i \le 10^9을 만족한다.

마지막 테스트 케이스 다음 줄에는 세 개의 00이 주어진다.

출력

각 테스트 케이스마다 케이스 번호와, D+1D + 1일이 끝났을 때 ACM이 가질 수 있는 최대 달러 수를 Case X: Y 형식으로 출력한다. 여기서 XX는 케이스 번호(1부터 시작)이고 YY는 그 최대 달러 수이다.

예제1

  1. 예제 1

    입력
    6 10 20
    6 12 1 3
    1 9 1 2
    3 2 1 2
    8 20 5 4
    4 11 7 4
    2 10 9 1
    0 0 0
    
    예상 출력
    Case 1: 44