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

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

Traveling Junkman Problem

시간 제한3초메모리 제한1024 MB

요약
N개의 집을 정확히 한 번씩 방문하며 매입할 물건을 선택할 때 얻을 수 있는 최대 이익을 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 비트 연산, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

고물상이 NN개의 집을 순회하며 물건을 사고 판다. 각 집에는 11번부터 NN번까지 번호가 붙어 있다. 고물상이 취급하는 물건은 총 MM종류가 있으며, 마찬가지로 11번부터 MM번까지 번호가 붙어 있다.

ii번 집은 고물상에게 p_ip\_i가지 서로 다른 종류의 물건을 하나씩 판매하고자 한다. 각 물건의 종류는 a_i,1a\_{i,1}, a_i,2a\_{i,2}, ⋯\cdots, a_i,p_ia\_{i,p\_i}번이다. 고물상은 이 중 원하는 물건들만 선택해서 매입할 수 있다.

또한 ii번 집은 q_iq\_i가지 서로 다른 종류의 물건에 관심이 있으며, 각각 b_i,1b\_{i,1}, b_i,2b\_{i,2}, ⋯\cdots, b_i,q_ib\_{i,q\_i}번이다. ii번 집은 고물상으로부터 해당하는 종류의 물건들을 몇 개든지 모조리 사들인다. ii번 집이 판매하는 물건들과 ii번 집이 관심을 가지는 물건들의 종류끼리는 서로 겹치지 않는다.

고물상이 jj번 종류의 물건을 매입할 때의 가격은 하나당 s_js\_j, 팔 때의 가격은 하나당 t_jt\_j이다.

고물상은 처음에 아무런 물건도 가지고 있지 않은 상태에서 시작해서, NN개의 집을 원하는 순서로 방문할 수 있다. 단, 각 집은 정확히 한 번씩만 방문해야 한다. 고물상은 순회를 마쳤을 때 수익이 최대가 되는 순서로 집을 방문하려고 한다. 순회를 마치고 남은 물건은 수익에 포함하지 않는다. 얻을 수 있는 최대 수익은 얼마일까?

입력

첫 번째 줄에 NN, MM이 공백으로 구분되어 주어진다. (1≤N≤18;(1\le N\le 18; 1≤M≤100,000)1\le M\le 100\\, 000)

두 번째 줄에 고물상이 물건을 매입할 때 드는 비용 s_1,⋯ ,s_Ms\_1,\cdots ,s\_M이 공백으로 구분되어 주어진다.

세 번째 줄에 고물상이 물건을 판매할 때 버는 수익 t_1,⋯ ,t_Mt\_1,\cdots ,t\_M이 공백으로 구분되어 주어진다. (1≤s_j\<t_j≤109)(1\le s\_j\<t\_j\le 10^9)

다음 2N2N개 줄에 각 집에 대한 정보가 순서대로 주어진다. ii번 집에 대한 정보는 다음과 같이 두 줄로 이루어진다.

  • 첫 번째 줄에 p_ip\_i와 p_ip\_i개의 정수 a_i,1,⋯ ,a_i,p_ia\_{i,1},\cdots ,a\_{i,p\_i}가 공백으로 구분되어 주어진다. ii번 집이 판매하는 물건의 종류를 나타낸다.
  • 두 번째 줄에 q_iq\_i와 q_iq\_i개의 정수 b_i,1,⋯ ,b_i,q_ib\_{i,1},\cdots ,b\_{i,q\_i}가 공백으로 구분되어 주어진다. ii번 집이 관심을 가지는 물건의 종류를 나타낸다.

p_i,q_ip\_i,q\_i는 00 이상의 정수이며, 0≤p_i+q_i≤M0\le p\_i+q\_i\le M을 만족한다.

각 ii에 대해서 a_i,1,⋯ ,a_i,p_i,b_i,1,⋯ ,b_i,q_ia\_{i,1},\cdots ,a\_{i,p\_i},b\_{i,1},\cdots ,b\_{i,q\_i}는 11 이상 MM 이하의 서로 다른 정수이다.

출력

최적의 순서로 NN개의 집을 방문했을 때 얻을 수 있는 최대 수익을 출력한다.

예제1

  1. 예제 1

    입력
    3 4
    2 1 3 4
    3 2 5 7
    2 2 3
    1 4
    1 3
    2 1 2
    2 4 1
    0
    
    예상 출력
    5