Bảng con vuông tổng lớn nhất

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Tudor lại đang ngồi trong giờ Tin học và cắm cúi gõ laptop, rõ ràng là cậu ấy chẳng hề chú ý đến bài giảng về kỹ thuật mảng cộng dồn hai chiều. Thấy vậy, giáo viên quyết định gọi Tudor lên bảng làm bài tập. Thầy cho Tudor một bảng số nguyên ~a~ kích thước ~m \times n~ và một số nguyên dương ~k~. Thầy yêu cầu Tudor phải tìm ra một bảng con hình vuông kích thước ~k \times k~ sao cho tổng các phần tử bên trong là lớn nhất có thể và đưa ra giá trị tổng đó. Đối với bạn thì bài toán này thật đơn giản, nhưng với Tudor thì không hề dễ dàng chút nào. Bạn hãy giúp Tudor một tay nhé!

Input Specification

Dòng đầu tiên chứa ba số nguyên ~m~, ~n~ và ~k~ (~2 \le k \le m, n \le 1000~), lần lượt là số hàng, số cột của bảng và kích thước cạnh của bảng con vuông.

~m~ dòng tiếp theo, dòng thứ ~i~ chứa ~n~ số nguyên ~a_{i,1}, a_{i,2}, \dots, a_{i,n}~ (~0 \le a_{i,j} \le 1000~) biểu thị các phần tử của bảng.

Output Specification

In ra một dòng:

  • Ghi một số nguyên duy nhất là tổng lớn nhất của bảng con vuông kích thước ~k \times k~ tìm được.

Sample Input

3 4 2
1 1 1 1
3 2 1 1
5 1 1 1

Sample Output

11

(Ghi chú: Bảng con vuông kích thước ~2 \times 2~ có tổng lớn nhất nằm ở góc dưới bên trái từ hàng 2 đến hàng 3, cột 1 đến cột 2, bao gồm các phần tử ${3, 2, 5, 1}$ với tổng là $3 + 2 + 5 + 1 = 11$).


Đang tải...