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

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

강호네 회사 업무 배정

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

요약
각 직원이 할 수 있는 일을 최대 하나씩 맡아 끝내는 일 개수를 가장 많게 하고 그중 총 급여가 최대인 배정을 구합니다.
난이도

보통10점 중 7점

유형
그래프, 최단 경로
정답자
아직 제출이 없습니다

문제

강호네 회사에는 직원이 NN명 있고, 처리해야 할 일이 MM개 있다. 직원에는 1번부터 NN번까지, 일에는 1번부터 MM번까지 번호가 붙어 있다.

각 직원은 자신이 할 수 있는 일 중에서 한 개만 맡을 수 있고, 한 개의 일은 최대 한 명이 맡는다. 아무 일도 맡지 않는 직원이 있어도 된다.

직원마다 할 수 있는 일의 목록과 그 일을 맡겼을 때 강호가 줘야 하는 월급이 주어진다. MM개의 일 중 최대 몇 개를 처리할 수 있는지, 그리고 처리하는 일의 개수가 최대인 배정 중에서 강호가 지급하는 월급 합의 최댓값은 얼마인지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 직원의 수 NN과 일의 개수 MM이 주어진다. (1≤N,M≤4001 \le N, M \le 400)

둘째 줄부터 NN개의 줄에 직원의 정보가 한 줄에 하나씩 주어진다. ii번째 줄에는 ii번 직원이 할 수 있는 일의 개수 kik_i (0≤ki≤M0 \le k_i \le M)가 먼저 주어지고, 그 뒤에 수 두 개짜리 쌍이 kik_i개 이어진다. 각 쌍은 일의 번호와 ii번 직원이 그 일을 맡았을 때 지급해야 하는 월급이다. 월급은 10,000 이하의 자연수이거나 0이다.

출력

첫째 줄에 강호네 회사에서 처리할 수 있는 일의 최대 개수를 출력한다.

둘째 줄에 그 개수만큼 일을 처리하는 배정 중에서 강호가 지급해야 하는 월급 합의 최댓값을 출력한다.

예제2

  1. 예제 1

    입력
    5 5
    2 1 3 2 2
    1 1 5
    2 2 1 3 7
    3 3 9 4 9 5 9
    1 1 0
    
    예상 출력
    4
    23
    
  2. 예제 2

    입력
    2 2
    2 1 100 2 1
    1 1 50
    
    예상 출력
    2
    51