만드는 중입니다

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

삼각형: 자료 구조

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

요약
크기가 N인 삼각형에서 크기가 K인 모든 부분 삼각형의 최댓값을 더한 합을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 행렬, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

평행 우주에서는 컴퓨터 과학에서 가장 중요한 자료 구조가 삼각형이다. 크기가 MM인 삼각형은 MM개의 행으로 이루어지며, ii번째 행에는 ii개의 원소가 있다. 행들은 정삼각형 모양을 이루고, 각 행은 삼각형의 가운데를 지나는 수직 대칭선을 중심으로 정렬된다. 예를 들어 아래 그림은 크기가 4인 삼각형이다.

삼각형 안에는 부분 삼각형이 포함된다. 예를 들어 위의 삼각형에는 크기가 1인 부분 삼각형이 10개 있고, 크기가 2인 부분 삼각형이 6개 있다. 크기가 2인 부분 삼각형 중 두 개는 (3,1,2)를 포함하는 삼각형과 (4,6,1)을 포함하는 삼각형이다. 위의 삼각형에는 크기가 3인 부분 삼각형도 3개 있으며, 그중 하나는 (2,2,1,1,4,2)를 포함한다. 모든 삼각형은 자기 자신의 부분 삼각형이다.

크기가 NN인 삼각형이 주어진다. 크기가 KK인 모든 부분 삼각형의 최댓값의 합을 구하시오.

입력

첫째 줄에 공백으로 구분된 두 정수 NN과 KK가 주어진다 (1≤K≤N≤30001 \le K \le N \le 3000). 이어서 NN개의 줄에 삼각형이 주어진다. ii번째 줄에는 ii번째 행의 원소인 정수 ai,1,ai,2,…,ai,ia_{i,1}, a_{i,2}, \ldots, a_{i,i}가 공백으로 구분되어 주어진다. 모든 값은 0≤ai,j≤1090 \le a_{i,j} \le 10^9을 만족한다. 배점 15점 중 4점은 N≤1000N \le 1000인 경우이다.

출력

크기가 KK인 모든 부분 삼각형의 최댓값의 합을 정수로 출력한다.

예제1

  1. 예제 1

    입력
    4 2
    3
    1 2
    4 2 1
    6 1 4 2
    
    예상 출력
    23