만드는 중입니다

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

가장 값진 탑

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

요약
높이가 다른 두 탑의 윗부분을 교환해 한 탑에 모을 수 있는 블록 값의 최대 합을 구합니다.
난이도

어려움10점 중 9점

유형
정수론, 정렬, 그리디, 누적 합
정답자
아직 제출이 없습니다

문제

야스는 블록으로 서로 다른 높이의 탑 여러 개를 쌓았습니다. 각 블록에는 정수가 하나씩 적혀 있습니다. 탑에 속한 블록들의 합이 클수록 그 탑의 가치는 높습니다. 야스는 가장 값진 탑을 만들고 싶지만, 이미 쌓아 놓은 탑들을 완전히 허물고 싶지는 않습니다. 그래서 그는 오직 다음 동작만 할 수 있다고 정했습니다. 높이가 서로 다른 두 탑을 고른 뒤,

  • 더 높은 탑에서 위쪽 블록을, 더 낮은 탑을 이루는 블록 수만큼 정확히 걷어내어 (걷어낸 블록들의 순서는 그대로 유지한 채) 새로운 탑 하나를 만듭니다.
  • 그런 다음 블록을 걷어낸 탑 위에 나머지 한 탑(더 낮았던 탑)을 통째로 얹습니다.

이렇게 하면 높이는 이전과 같지만 각 블록에 적힌 수의 배치는 달라질 수 있는 두 탑이 만들어집니다 (그림 참고).

그림: 탑 (4,5,7,1)(4, 5, 7, 1) 과 (3,6)(3, 6) 에 대한 야스의 동작 예시.

야스가 만들 수 있는 탑의 최대 가치를 구하세요.

입력

첫째 줄에 야스가 쌓은 탑의 개수를 나타내는 정수 nn (1≤n≤500 0001 \le n \le 500\,000) 이 주어집니다. 이어지는 nn 개의 줄에 각 탑의 정보가 주어집니다. (i+1)(i+1) 번째 줄에는 ii 번째 탑의 높이를 나타내는 정수 wiw_i (1≤wi≤1 000 0001 \le w_i \le 1\,000\,000) 가 주어지고, 그 뒤에 wiw_i 개의 정수 x1,x2,…,xwix_1, x_2, \dots, x_{w_i} (−1 000 000≤xk≤1 000 000-1\,000\,000 \le x_k \le 1\,000\,000) 가 주어집니다. 여기서 xkx_k 는 ii 번째 탑에서 위에서 kk 번째 블록에 적힌 수입니다. 모든 탑을 이루는 블록의 총 개수 KK 는 1 000 0001\,000\,000 을 넘지 않습니다.

출력

야스가 만들 수 있는 탑의 최대 가치를 정수 하나로 출력하세요.

힌트

설명: 야스는 2번 탑과 3번 탑으로 탑 (4,6)(4, 6) 을 만든 뒤, 이 탑과 1번 탑으로 탑 (4,6,7,1)(4, 6, 7, 1) 을 만들 수 있고, 그 가치는 1818 입니다.

예제2

  1. 예제 1

    입력
    4
    4 4 5 7 1
    2 3 6
    1 4
    1 1
    
    예상 출력
    18
    
  2. 예제 2

    입력
    4
    3 1 2 3
    2 4 5
    1 6
    4 7 8 9 10
    
    예상 출력
    34