Gửi bài giải
Điểm:
25,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho một bảng ~A~ kích thước ~n \times m~ ô, trên mỗi ô ghi một số nguyên dương là số lượng quà mà một con robot cần mang đi. Con robot xuất phát tại một ô ~A[i,1]~ nào đó của cột ~i (1 ≤ i ≤ n)~ cần di chuyển sang một ô lân cận của cột ~j (1 ≤ j ≤ m)~. Cụ thể, từ ô ~A[i, j]~, con robot chỉ được di chuyển sang một trong ba ô sau: ~A[i, j+1], A[i-1, j+1], A[i+1, j+1]~ và khi con robot đi qua ô nào thì mang theo toàn bộ lượng quà ở ô đó.
Yêu cầu: Hãy tìm đường đi cho con robot từ một ô nào đó của cột ~1~ đến một ô nào đó của cột ~m~ để cho tổng lượng quà mà con robot cần mang đi là lớn nhất.
INPUT
- Dòng ~1~ ghi ~2~ số nguyên ~n~ và m cách nhau ít nhất một dấu cách ~(1 ≤ n, m ≤ 1000)~.
- Dòng thứ ~i~ trong ~n~ dòng tiếp theo ghi ~m~ số nguyên dương, mỗi số không vượt quá ~10^{5}~ và hai số liên tiếp cách nhau ít nhất một dấu cách.
OUTPUT
Gồm một dòng là tổng các số chứa trong các ô mà con robot đã đi qua.
SUBTASKS
- ~50 \%~ số test ứng với ~1 ≤ n, m ≤ 500~.
- ~30 \%~ số test ứng với ~500 < n, m ≤ 800~.
- ~20 \%~ số test ứng với ~800 < n, m ≤ 1000~.
SAMPLE INPUT
3 5
7 3 8 1 5
8 8 3 14 1
6 15 19 1 1
SAMPLE OUTPUT
61
Bình luận