Tổng lớn nhất (THTC - Q.Ninh 2021)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho lưới ô vuông \(A\) kích thước \(M \times N\), trong đó các dòng được đánh thứ tự từ \(1\) đến \(M\) từ trên xuống dưới, các cột được đánh thứ tự từ \(1\) đến \(N\) từ trái sang phải, ô nằm trên dòng \(i\), cột \(j\) có chứa giá trị nguyên \(A[i, j]\).

Nhiệm vụ của bạn là tìm lưới ô vuông con (là hình chữ nhật nằm trong lưới đã cho) có tổng các phần tử trong đó là lớn nhất.

Input

  • Dòng đầu tiên là hai số nguyên \(M\)\(N\) (\(1 \le M, N \le 500\)).
  • \(M\) dòng tiếp theo, dòng thứ \(i\) chứa \(N\) số \(A_{i1}, A_{i2}, \dots, A_{iN}\) (\(|A_{ij}| \le 5 \cdot 10^4\)).
  • Các số nằm trên cùng một dòng cách nhau ít nhất một dấu cách.

Output

  • Một dòng duy nhất là tổng lớn nhất của các phần tử thuộc lưới ô vuông con tìm được.

Example

Test 1

Input
3 5
-4 5 -18 9 5
-16 4 0 -4 9
5 -1 4 -1 2
Output
20
Note

Lưới con có tổng lớn nhất từ ô \((1, 4)\) đến ô \((3, 5)\).

Scoring

  • Subtask \(1\) (\(60\%\) số điểm): \(M, N \le 100\).
  • Subtask \(2\) (\(40\%\) số điểm): \(M, N \le 500\).

Bình luận (1)

Mới nhất
Tải bình luận...