Chirox và trò chơi thả bom

View as PDF

Submit solution

Points: 100.00 (partial)
Time limit: 1.0s
Memory limit: 488M
Input: stdin
Output: stdout

Authors:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Dù bị deadlines dí ngập mặt, nhưng ~Chirox~ vẫn quyết định sẽ tiếp tục chơi game để phá kỷ lục. Thế nhưng ~Chirox~ cũng không muốn bị trễ deadlines, nên ~Chirox~ muốn phá đảo được game thật nhanh để còn chạy deadlines (học đại học khộ lắm T_T), vậy nên ~Chirox~ đã nhờ bạn giúp. Game mà ~Chirox~ đang chơi là game ném bom, ~Chirox~ chỉ có 1 quả bom duy nhất, phạm vi phá hoại của quả bom là một hình chữ nhật kích thước ~k*k~ ~(k ≤ min(n,m))~. ~Chirox~ có nhiệm vụ thả quả bom này lên một battle field có kích thước ~n*m~, sao cho độ phá hoại là lớn nhất có thể. Ô nằm ở hàng thứ ~i~ và cột thứ ~j~ trên battle field có giá trị vật chất là ~value[i][j]~ và độ phá hoại của quả bom là tổng giá trị vật chất mà quả bom phá được. Bạn hãy giúp ~Chirox~ phá đảo trò chơi này nhé.

Hình ảnh cho các bạn dễ hình dung: bombthebattlefield_2.jpg

Input:

  • Dòng đầu tiên chứa ~3~ số nguyên lần lượt là ~n, m, k~.
  • ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ số nguyên dương mô tả các số ~value[i][j]~ ~(value[i][j] ≤ 10^9)~

Output: * Một dòng duy nhất chứa một số nguyên là độ phá hoại lớn nhất mà *~Chirox~ có thể đạt được.

Giới hạn:

Subtask ~1~ (~50~%): ~n*m~ ≤ ~10^3~

Subtask ~2~ (~50~%): ~n*m~ ≤ ~10^6~

Ví dụ:

Input
5 5 2
1 1 1 1 1 
1 1 2 2 2
1 2 2 2 2
2 2 1 1 1
1 1 1 1 1
Output
8

Giải thích: Chọn thả quả bom vào vùng ~2*2~ có góc trái trên là ô ~[2][3]~ và góc phải dưới là ô ~[3][4]~


Loading...