CCCGuide

Problem S5: Triangle: The Data Structure

2019 · S5 · Original problem · DMOJ

Problem Description

In a parallel universe, the most important data structure in computer science is the triangle. A triangle of size MM consists of MM rows, with the ii-th row containing ii elements. Furthermore, these rows must be arranged to form the shape of an equilateral triangular. That is, each row is centered around a vertical line of symmetry through the middle of the triangle. For example, the diagram below shows a triangle of size 4:

Ten regular hexagons are arranged into rows to form an equilateral triangle. The bottom row has four hexagons, and the next rows up have three, then two, then one at the top. Each hexagon contains a number. The bottom row of numbers is 6, 1, 4, 2; the next row is 4, 2, 1; the next row is 1, 2; and the top is 3.

A triangle contains sub-triangles. For example, the triangle above contains ten sub-triangles of size 1, six sub-triangles of size 2 (two of which are the triangle containing (3,1,2)(3,1,2) and the triangle containing (4,6,1)(4,6,1)), three sub-triangles of size 3 (one of which contains (2,2,1,1,4,2)(2,2,1,1,4,2)). Note that every triangle is a sub-triangle of itself.

You are given a triangle of size NN and must find the sum of the maximum elements of every sub-triangle of size KK.

Input Specification

The first line contains two space-separated integers NN and KK (1≤K≤N≤3000)(1\le K\le N\le 3000).

Following this are NN lines describing the triangle. The ii-th of these lines contains ii space-separated integers ai,ja_{i,j} (0≤ai,j≤109)(0\le a_{i,j}\le 10^9), representing the ii-th row of the triangle.

For 4 of the 15 available marks, N≤1000N\le 1000.

Output Specification

Output the integer sum of the maximum elements of every sub-triangle of size KK.

Sample Input

4 2
3
1 2
4 2 1
6 1 4 2

Output for Sample Input

23