주문 선택과 기계 대여

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

요약
주문별 수익과 기계 임대비, 기계별 구매비가 주어질 때 이익을 최대화하도록 주문 수락 여부와 기계 구매/임대를 결정하는 문제로 최대 유량 최소 절단으로 해결합니다.
난이도

어려움10점 중 8점

유형
그래프, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

목수 샘은 NN개의 주문을 받았습니다. 이 주문들을 완성하려면 아직 가지고 있지 않은 MM대의 기계가 필요합니다. 모든 주문이 모든 기계를 요구하지는 않지만, 각 주문은 적어도 한 대의 기계를 필요로 합니다.

한 주문을 완성하려면, 샘은 그 주문이 요구하는 각 기계에 대해 그 기계를 구매하거나 대여해야 합니다. 기계마다 필요한 작업량이 주문에 따라 다르기 때문에, 기계의 대여료는 그 기계를 사용하는 주문에 따라 달라집니다. 반면 기계의 구매 가격은 어떤 주문과도 무관하며, 한 번 구매한 기계는 추가 비용 없이 원하는 만큼 여러 주문에 사용할 수 있습니다.

어떤 주문의 비용이 그 수익보다 크다면, 샘은 그 주문을 거절할 수 있습니다. 거절한 주문은 수익도 비용도 발생시키지 않습니다.

주문 ii의 수익은 viv_i입니다. 이 주문을 완성하려면 정해진 기계 집합이 필요하며, 필요한 각 기계 jj의 대여료는 rijr_{ij}입니다. 기계 jj의 구매 가격은 sjs_j입니다.

샘의 이익(완성한 주문들의 총 수익에서 모든 구매 및 대여 비용을 뺀 값)이 최대가 되도록, 어떤 주문을 완성하고, 어떤 기계를 구매하고, 어떤 기계를 대여할지 결정하세요. 모든 주문을 거절하면 이익이 00이 되므로, 정답은 결코 음수가 되지 않습니다.

입력

첫째 줄에 두 정수 NN과 MM이 주어집니다 (1≤N≤12001 \le N \le 1200, 1≤M≤12001 \le M \le 1200).

이어서 NN개의 주문 블록이 주어집니다. 주문 ii의 블록은 두 정수, 즉 수익 viv_i (1≤vi≤50001 \le v_i \le 5000)와 필요한 기계의 수 mim_i (1≤mi≤M1 \le m_i \le M)가 적힌 줄로 시작합니다. 이어지는 mim_i개의 줄에는 각각 두 정수 jj와 rijr_{ij} (1≤j≤M1 \le j \le M, 1≤rij≤200001 \le r_{ij} \le 20000)가 주어지며, 이는 주문 ii가 필요로 하는 기계와 이 주문에 그 기계를 사용할 때의 대여료를 뜻합니다.

마지막 주문 블록 뒤에는 MM개의 줄이 오고, jj번째 줄에는 정수 sjs_j (1≤sj≤200001 \le s_j \le 20000), 즉 기계 jj의 구매 가격이 하나 주어집니다.

출력

달성할 수 있는 최대 이익을 정수 하나로 출력합니다.

참고

첫 번째 예제에서 최대 이익 5050은 두 가지 방법으로 얻을 수 있습니다.

  • 주문 22를 거절하고 주문 11을 완성하며 기계 11과 기계 22를 모두 대여합니다.
  • 두 주문을 모두 완성하고 기계 11을 구매하며 기계 22와 기계 33을 대여합니다.

어느 방법을 택하든 이익은 5050입니다.

예제6

  1. 예제 1

    입력
    2 3
    100 2
    1 30
    2 20
    100 2
    1 40
    3 80
    50
    80
    110
    
    예상 출력
    50
    
  2. 예제 2

    입력
    1 1
    10 1
    1 3
    100
    
    예상 출력
    7
    
  3. 예제 3

    입력
    1 1
    5 1
    1 10
    20
    
    예상 출력
    0
    
  4. 예제 4

    입력
    2 1
    100 1
    1 60
    100 1
    1 60
    50
    
    예상 출력
    150
    
  5. 예제 5

    입력
    1 1
    100 1
    1 30
    200
    
    예상 출력
    70
    
  6. 예제 6

    입력
    2 2
    50 2
    1 10
    2 10
    50 1
    1 40
    30
    100
    
    예상 출력
    60