Phần thưởng (Contest Practice VNOI 2021 Round 2)

Xem PDF




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

Hồng là người thắng cuộc trong cuộc thi “Xây dựng Hệ thống chống dịch COVID-19” và được nhận phần thưởng của Ban tổ chức. Ban tổ chức chuẩn bị một bảng kích thước \(m \times n\). Các dòng của bảng được đánh số từ \(1\) đến \(m\), từ trên xuống dưới. Các cột của bảng được đánh số từ \(1\) đến \(n\), từ trái qua phải. Ô nằm trên giao của dòng và cột được gọi là ô \((i, j)\) và trên ô đó ghi một số nguyên có giá trị \(a_{ij}\) \((1 \leq i \leq m; 1 \leq j \leq n)\).

Để nhận phần thưởng, Hồng được phép chọn một dãy gồm ít nhất ba ô \((i_{1}, j_{1}), (i_{2}, j_{2}), (i_{3}, j_{3}), \ldots, (i_{k}, j_{k})\) thỏa mãn:

  • Độ dài đoạn thẳng nối giữa tâm của hai ô \((i_{p}, j_{p})\)\((i_{p + 1}, j_{p + 1})\) nhỏ hơn độ dài đoạn thẳng nối giữa tâm của hai ô \((i_{p + 1}, j_{p + 1})\)\((i_{p + 2}, j_{p + 2})\) với mọi \(1 \leq p \leq k - 2\).
  • Gọi \(s\) là tổng tất cả các số trong các ô của dãy, số tiền mà Hồng nhận được là giá trị tuyệt đối của \(s\). Các ô của dãy có thể được lặp lại và đương nhiên sẽ được tính tổng mỗi lần lặp lại.

Yêu cầu: Hãy giúp Hồng tính giá trị lớn nhất có thể.

Input

  • Dòng thứ nhất chứa hai số nguyên dương \(m, n\) \((4 \leq m \times n \leq 5000)\).
  • Dòng thứ \(i\) \((1 \leq i \leq m)\) trong \(m\) dòng tiếp theo chứa \(n\) số nguyên \(a_{i1}, a_{i2}, \ldots, a_{in}\) \((|a_{ij}| \leq 10^{9})\).

Output

  • In ra một số nguyên duy nhất là giá trị \(|s|\) lớn nhất có thể chọn được.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(m = 1, n \leq 10\).
  • Subtask \(2\) (\(30\%\) số điểm): \(m = 1, n \leq 200\).
  • Subtask \(3\) (\(20\%\) số điểm): \(m = 1, n \leq 2000\).
  • Subtask \(4\) (\(20\%\) số điểm): không có rằng buộc gì thêm.

Example

Test 1

Input
1 4
-1 2 3 4
Output
10
Note

Các ô được chọn là \((1, 4), (1, 3), (1, 1), (1, 4)\).

Bình luận (1)

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