만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

기타마사의 반격

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

요약
키타마사는 상점별 비용을 내고 열쇠 가격을 올려 아키바의 구매 비용과의 차이를 최대화합니다. 답은 최소 컷 값이며, 무한대이면 -1입니다.
난이도

어려움10점 중 9점

유형
그래프, 비트 연산, 조합론
정답자
아직 제출이 없습니다

문제

상자 nn개(1번부터 nn번까지), 열쇠 mm개(1번부터 mm번까지), 상점 dd곳(1번부터 dd번까지)이 있다. 열쇠 ii는 상자 ai,1,…,ai,kia_{i,1}, \ldots, a_{i,k_i} 중 하나를 여는 데 쓸 수 있다. 열쇠는 한 번 상자를 열면 사라지므로, 열쇠 하나로 여러 상자를 열 수는 없다. 열쇠 ii는 상점 sis_i에서 cic_i달러에 팔린다. 아키바는 열쇠를 몇 개 사서 모든 상자를 열려고 한다. 같은 열쇠는 두 번 이상 살 수 없다.

키타마사는 아키바를 방해하려고 한다. 아키바가 살 열쇠를 정하기 전에, 키타마사는 일부 열쇠의 가격을 바꿀 수 있다. 키타마사가 bjb_j달러를 내면 상점 jj에서 파는 모든 열쇠의 가격이 1달러 오른다. 각 상점마다 이 작업을 음이 아닌 정수 번 반복할 수 있다. 예를 들어 2bj2b_j달러를 내면 상점 jj의 모든 열쇠 가격이 2달러 오른다. bj=2b_j = 2일 때 1달러를 내고 가격을 0.5달러 올리는 것은 불가능하다.

아키바는 (아키바의 지출) − (키타마사의 지출) 값을 최소화하려고 하고, 키타마사는 이 값을 최대화하려고 한다. 두 사람이 최적으로 행동할 때의 값을 구하라. 값이 무한히 커질 수 있으면 -1을 출력한다. 키타마사가 아무것도 하지 않으면 아키바가 모든 상자를 열 수 있다는 것이 보장된다.

입력

첫 줄에 세 정수 nn, mm, dd가 주어진다(1≤m≤10001 \le m \le 1000, n≤100n \le 100, 1≤n,d≤m1 \le n, d \le m). 이어서 mm개의 줄에 열쇠 정보가 주어진다. 각 줄은 열쇠의 가격 cic_i, 판매 상점 sis_i, 열 수 있는 상자 수 kik_i 세 정수로 시작하고, 그 뒤에 상자 번호 kik_i개가 주어진다(1≤ci≤10001 \le c_i \le 1000, 1≤si≤d1 \le s_i \le d, 1≤ki≤min⁡(10,n)1 \le k_i \le \min(10, n), 1≤ai,j≤n1 \le a_{i,j} \le n, j≠kj \ne k이면 ai,j≠ai,ka_{i,j} \ne a_{i,k}). 마지막으로 dd개의 줄에 정수 bib_i가 하나씩 주어진다(1≤bi≤10001 \le b_i \le 1000).

출력

답을 나타내는 정수 하나를 출력한다.

예제3

  1. 예제 1

    입력
    3 4 1
    2 1 2 1 2
    2 1 2 2 3
    2 1 2 3 1
    3 1 3 1 2 3
    5
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3 4 1
    2 1 2 1 2
    2 1 2 2 3
    2 1 2 3 1
    3 1 3 1 2 3
    2
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    2 3 2
    3 1 2 1 2
    4 1 1 2
    5 2 2 1 2
    1
    2
    
    예상 출력
    8