급식 배식

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

요약
각 학생에게 음식을 최대 하나씩 주되 연속한 학생이 같은 음식을 받을 수 없도록 하여 행복도 합의 최댓값을 구한다.
난이도

어려움10점 중 8점

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

문제

11부터 NN까지의 번호가 붙어있는 NN개의 배식대가 있다. ii번 배식대에서는 ii번 음식을 배식받을 수 있다. MM명의 학생들이 음식을 받기 위해 줄을 섰다.

각 학생은 특정 음식을 배식받을 수 있고, 배식받은 음식에 해당하는 만큼 행복도가 상승한다. 구체적인 규칙은 다음과 같다.

  • jj번 학생은 배식받을 수 있는 음식의 번호 p_j,1,,p_j,2,,⋯ ,,p_j,l_jp\_{j,1},\\,p\_{j,2},\\,\cdots,\\,p\_{j,l\_j}가 정해져 있다. 각 학생은 같은 음식을 최대 한 번만 배식받을 수 있다.
  • jj번 학생이 p_j,kp\_{j,k}번 음식을 배식받을 경우 학생의 행복도가 v_j,kv\_{j,k}만큼 상승한다.
  • jj번 학생이 배식받은 음식은 j+1j+1번 학생이 배식받을 수 없다. (1≤j≤M−1)(1\leq j\leq M-1)

초기에 모든 학생의 행복도는 00이다. 학생들의 행복도 합이 최대가 되도록 배식을 진행해 보자!

입력

첫 번째 줄에 두 정수 NN과 MM이 공백으로 구분되어 주어진다. (1≤N,M≤105)(1\leq N,M\leq10^5)

이후 각 학생이 먹을 수 있는 음식에 대한 정보가 MM개의 줄에 걸쳐 주어진다.

정보의 jj번째 줄에는 jj번 학생이 먹을 수 있는 음식의 개수를 나타내는 정수 l_jl\_j가 가장 먼저 주어지고, 이후 2l_j2l\_j개의 정수 p_j,1,,v_j,1,,p_j,2,,v_j,2,,⋯ ,,p_j,l_j,,v_j,l_jp\_{j,1},\\,v\_{j,1},\\,p\_{j,2},\\,v\_{j,2},\\,\cdots,\\,p\_{j,l\_j},\\,v\_{j,l\_j}가 공백으로 구분되어 주어진다. 이때 p_j,kp\_{j,k}는 증가하는 순서로 주어진다. (1≤j≤M;(1\leq j\leq M; 1≤l_j≤N;1\leq l\_j\leq N; 1≤p_j,1\<p_j,2<⋯\<p_j,l_j≤N;1\leq p\_{j,1}\<p\_{j,2}<\cdots\<p\_{j,l\_j}\leq N; 1≤v_j,k≤109)1\leq v\_{j,k}\leq10^9)

모든 l_jl\_j의 합은 10510^5을 넘지 않는다.

출력

학생들의 행복도 합의 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    5 5
    2 1 5 2 6
    1 2 5
    1 3 5
    1 4 5
    1 5 5
    
    예상 출력
    26