아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

패스트 푸드 상금

면접 대비

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

요약
서로 겹치지 않는 상품마다 필요한 스티커 중 가장 적은 개수를 상품 금액과 곱해 합합니다.
난이도

쉬움10점 중 2점

유형
그리디, 수학, 배열
정답자
아직 제출이 없습니다

문제

대전에서 지역 프로그래밍 대회가 열리는 동안, 대전의 패스트 푸드 음식점은 가게를 알리려고 이벤트를 연다. 정해진 음식을 하나 먹을 때마다 스티커를 한 장 주고, 모은 스티커는 상금으로 바꿔 준다.

상금마다 필요한 스티커 종류가 정해져 있다. 그 상금이 요구하는 종류의 스티커를 한 장씩 내면 상금을 받고, 스티커가 남아 있는 한 같은 상금을 여러 번 받을 수 있다. 스티커는 종류마다 많아야 한 상금에만 쓰이므로, 서로 다른 두 상금이 같은 종류의 스티커를 함께 요구하는 일은 없다. 어느 상금에도 쓰이지 않는 스티커도 있다.

대회를 보러 가는 동안 코치는 패스트 푸드 음식점에서만 식사하도록 허락했다. 코치가 모은 스티커로 받을 수 있는 상금 액수의 합은 최대 얼마인가?

입력

첫째 줄에 테스트 케이스의 개수가 주어진다.

각 테스트 케이스의 첫째 줄에는 상금의 가짓수 n (1 ≤ n ≤ 10)과 스티커의 가짓수 m (1 ≤ m ≤ 30)이 주어진다. 스티커 종류에는 1번부터 m번까지 번호가 붙어 있다.

이어지는 n개 줄에는 상금이 한 줄에 하나씩 주어진다. 각 줄에는 그 상금에 필요한 스티커 종류의 수 k (1 ≤ k ≤ m), 필요한 스티커의 번호 k개, 상금의 액수가 차례로 주어진다. 액수는 1,000,000 이하이다.

테스트 케이스의 마지막 줄에는 코치가 가진 1번부터 m번까지 스티커의 개수가 순서대로 주어진다. 개수는 각각 100 이하이다.

출력

각 테스트 케이스마다 받을 수 있는 상금 액수의 최댓값을 한 줄에 하나씩 출력한다.

예제3

  1. 예제 1

    입력
    3
    2 10
    3 1 2 3 100
    4 4 5 6 7 200
    2 3 1 4 5 2 2 1 3 4
    3 6
    2 1 2 100
    3 3 4 5 200
    1 6 300
    1 2 3 4 5 6
    3 6
    2 1 2 100
    3 3 4 5 200
    1 6 300
    1 2 0 4 5 6
    
    예상 출력
    500
    2500
    1900
    
  2. 예제 2

    입력
    1
    1 3
    2 1 2 500
    7 4 9
    
    예상 출력
    2000
    
  3. 예제 3

    입력
    1
    2 4
    2 1 2 1000
    1 4 250
    0 5 0 100
    
    예상 출력
    25000