Tổng lớn nhất

Xem dạng PDF IDE

Gửi bài giải

Điểm: 1,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

Cho một ma trận các số nguyên có kích thước ~N\times N~. Lúc đầu chúng ta đứng tại ô tọa độ ~(1,1)~.

Chúng ta có thể di chuyển xuống dưới hoặc sang phải. Điều này có nghĩa là nếu chúng ta đứng ở ô ~(i, j)~ thì có thể di chuyển đến ô ~(i + 1, j)~ hoặc ~(i, j + 1)~.

Mặt khác chúng ta được phép di chuyển tối đa ~K~ bước sang trái hoặc lên trên. Có nghĩa là nếu chúng ta đứng ở ô ~(i, j)~ thì có thể di chuyển đến ô ~(i, j - 1)~ hoặc ~(i - 1, j)~.

Chúng ta không thể di chuyển ra ngoài ma trận. Khi chúng ta di chuyển tới một ô (bao gồm cả ô xuất phát ~(1, 1)~), chúng ta cộng số nguyên trong ô này vào tổng. Nếu chúng ta đi vào một ô nhiều hơn một lần thì mỗi lần đi vào chúng ta lại cộng số nguyên ở ô này vào tổng. Ban đầu tổng bằng ~0~.

Bạn hãy viết một chương trình tính tổng lớn nhất có thể, bắt đầu từ ô ~(1, 1)~ và kết thúc ở ô ~(N, N)~ với các bước di chuyển được mô tả như ở trên.

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên ~N~ và ~K\ (2\leq N\leq 1000; 0\leq K\leq 100)~.
  • Tiếp theo có ~N~ dòng, mỗi dòng chứa ~N~ số nguyên có giá trị thuộc đoạn ~[-1000;1000]~ là các phần tử của ma trận đã cho.

Dữ liệu ra:

  • Gồm một dòng chứa tổng lớn nhất của việc di chuyển bắt đầu từ ô ~(1, 1)~ và kết thúc ở ô ~(N, N)~ với các bước di chuyển được mô tả như ở trên.

Input 1:

3 1
1 1 0
1 1 0
1 1 1

Output 1:

7

Input 2:

4 4
1 1 1 0
1 0 1 0
1 1 1 0
0 0 1 1

Output 2:

15

Giới hạn:

  • Có ~33\%~ số test ứng với ~33\%~ số điểm của bài có ~n, k\leq 10~.
  • Có ~66\%~ số test còn lại ứng với ~66\%~ số điểm của bài không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.

Input
Output
Run