trang chủ / đề bài / dhbb23_cbh_10_a

Tam giác

Đề bài

Mô tả

Cho ma trận a gồm m hàng và n cột, các hàng đánh số từ trên xuống dưới, các cột đánh số từ trái sang phải. Ô ở hàng i cột j có giá trị nguyên ai,j (|ai,j|≤109). Với mỗi ma trận vuông k×k, định nghĩa nửa dưới của nó là tất cả các ô nằm trên đường chéo chính và dưới đường chéo chính (đường chéo trái trên, phải dưới). Nói cách khác, với hình vuông có ô trái trên là (i,j), nửa dưới gồm các ô (i+r,j+c) với 0≤c≤r≤k−1.

Yêu cầu: Tìm hình vuông con cỡ k×k của ma trận a sao cho tổng các số ở nửa dưới của nó đạt giá trị lớn nhất.

Dữ liệu vào

  • Dòng đầu ghi ba số nguyên m,n,k (1≤m,n≤2000, 1≤k≤min(m,n)).
  • m dòng tiếp theo, mỗi dòng gồm n số nguyên là một hàng của ma trận a.

Dữ liệu ra

Ghi một số nguyên duy nhất là tổng lớn nhất tìm được.

Ràng buộc

  • 1≤m,n≤2000.
  • 1≤k≤min(m,n).
  • |ai,j|≤109.

Subtasks

  • Subtask 1 (30% số điểm): m,n≤50.
  • Subtask 2 (40% số điểm): 50<m,n≤500.
  • Subtask 3 (30% số điểm): 500<m,n≤2000.

Ví dụ

Input Output Giải thích
3 4 2
1 2 1 1
2 1 3 4
1 2 1 2
8 Chọn hình vuông 2×2 có ô trái trên ở hàng 1 cột 3; nửa dưới gồm các ô có giá trị 1, 3, 4, tổng bằng 8.
2 3 2
-1 -5 -2
-3 -4 -6
-8 Có hai hình vuông 2×2: nửa dưới của hình bên trái có tổng −1−3−4=−8, của hình bên phải có tổng −5−4−6=−15. Ô trên đường chéo chính được tính vào nửa dưới, và đáp án có thể âm.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0