노천 채굴
시간 제한1초메모리 제한512 MB
각 블록의 가치와 채굴 비용, 그리고 먼저 캐야 하는 선행 관계가 주어질 때, 이 관계에 닫힌 부분집합 중 이익이 최대인 것을 구한다.
문제
노천 채굴은 땅 표면에 구덩이를 파서 암석이나 광물을 캐내는 방식이다. 상업적으로 쓸모 있는 광맥이 지표 가까이에 있을 때 쓴다. 채굴 회사 ACM은 노천 채굴로 얻는 이익을 최대로 늘리려 한다. ACM은 땅의 정보를 읽어 ACM이 얻을 수 있는 최대 이익을 구하는 프로그램을 여러분에게 맡겼다.
땅 하나는 블록의 집합으로 나타낸다. 블록 에는 가치 가 있고, 그 블록을 파내는 데 비용 가 든다. 어떤 블록은 다른 블록을 덮고 있다. 블록 와 블록 가 블록 를 덮고 있다면, 블록 를 파내기 전에 블록 와 블록 를 먼저 파내야 한다. 덮고 있는 블록이 하나도 남지 않은 블록만 파낼 수 있다.
파낸 블록 집합에서 얻는 이익은 그 블록의 가치 합에서 비용 합을 뺀 값이다. 언제든 채굴을 멈춰도 되고, 한 블록도 파내지 않으면 이익은 0이다.
입력
첫째 줄에 블록의 개수를 나타내는 정수 이 주어진다 (). 블록의 번호는 1번부터 번까지이다.
다음 개의 줄에 블록의 정보가 주어진다. 그중 번째 줄은 블록 를 설명하며, 먼저 블록 의 가치 와 비용 가 온다 (). 이어서 세 번째 정수 가 블록 가 덮고 있는 블록의 개수를 나타낸다 (). 그 뒤에는 블록 가 덮고 있는 블록의 번호 개가 공백을 사이에 두고 온다. 이 번호는 서로 다르고, 1 이상 이하이며, 는 들어 있지 않다.
순서를 적절히 잡으면 모든 블록을 파낼 수 있다. 모든 블록에 대한 의 합은 500 이하이다.
출력
ACM이 주어진 땅에서 얻을 수 있는 최대 이익을 정수 하나로 출력한다.