만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쿼리와 수열

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

요약
각 A_i를 비용이 붙은 후보 값 중에서 고르고, 구간 최댓값에 질의 횟수를 곱해 더한 합에서 선택 비용을 뺀 값을 최대화합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 구간
정답자
아직 제출이 없습니다

문제

이 대회에 쿼리 문제가 굉장히 많다는 것을 여러분들도 눈치챘을 것이다. 쿼리를 사랑하는 출제진들은 수열에 재미없는 쿼리를 하는 문제를 하나 더 내고 싶었지만, 여러분의 반발이 심할 것 같아 대신 쿼리들이 주어졌을 때 수열을 구하는 문제를 만들기로 했다.

길이 NN의 수열 AA에 구간 최댓값 쿼리를 할 것인데, 구간 [i,j][i,j]에는 Qi,jQ_{i,j}번 쿼리를 할 것이다.

아직 수열 AA의 값은 정해지지 않았다. 11부터 NN까지의 각 ii에 대해, AiA_i의 값으로 서로 다른 KiK_i개의 값 중 하나를 선택할 수 있다. jj번째 값은 Vi,jV_{i,j}이며, 그 값을 고르는 비용은 Ci,jC_{i,j}이다.

우리의 목표는 수열 AA를 적절히 골라, 구간 쿼리들의 결과의 합에서 값들을 고르는 데 든 비용을 뺀 값을 최대화하는 것이다.

입력

첫 줄에 NN이 주어진다. (1≤N≤3001 \leq N \leq 300)

이후 NN개의 줄에 걸쳐 Qi,jQ_{i,j}가 주어진다. ii번째 줄에는 Qi,iQ_{i,i}부터 Qi,NQ_{i,N}까지의 수가 공백으로 구분되어 주어진다. (0≤Qi,j≤9990 \leq Q_{i,j} \leq 999)

이후 NN개의 인덱스에 대해 값의 후보들의 정보가 다음과 같은 형식으로 주어진다.

  • 첫 줄에 KiK_i가 주어진다. (1≤Ki1 \leq K_i)
  • 이후 KiK_i개의 줄에 걸쳐 Vi,jV_{i,j}와 Ci,jC_{i,j}가 공백으로 구분되어 주어진다. (0≤Vi,j≤1080 \leq V_{i,j} \leq 10^8, 0≤Ci,j≤10130 \leq C_{i,j} \leq 10^{13})

KiK_i의 합은 300 000300\,000 이하이다.

출력

구간 쿼리들의 결과의 합에서 값들을 고르는 비용을 뺀 값의 최댓값을 출력한다.

예제2

  1. 예제 1

    입력
    5
    1 0 2 2 0
    0 2 2 0
    2 2 2
    1 2
    0
    2
    0 27
    1 19
    2
    7 25
    1 1
    2
    8 7
    4 18
    2
    8 7
    4 4
    2
    0 25
    4 26
    
    예상 출력
    78
    
  2. 예제 2

    입력
    2
    1 1
    1
    2
    1 100
    2 50
    1
    1 100
    
    예상 출력
    -145