TopCoder

餘切
owoovo is 8

User's AC Ratio

93.9% (46/49)

Submission's AC Ratio

73.5% (144/196)

Tags

Description

為了慶祝你終於在 APCS 測驗中拿下實作題滿分的佳績,你決定買一個大蛋糕來與眾人分享你的喜悅。

大蛋糕由 NM 列的正方體小蛋糕拼湊而成,對於其第 i 行第 j 列的小蛋糕,你認為他的好吃程度為 di,j。在切蛋糕時,為了不破壞蛋糕的美觀,你會選擇相鄰兩列或相鄰兩行小蛋糕之間的交界處,並將完整的整行或整列切開。

舉例來說,下圖以紅線表示切蛋糕的位置。左側的兩張圖是合法的切蛋糕方式,但最右側的圖不是。

在切完蛋糕後,你會將每一塊蛋糕裝在一個盤子上,好分送給其他人。你想要最大化每一塊蛋糕從外側能看到的部分的好吃程度的總和。也就是說,每一塊切下來的蛋糕都有正上方及前、後、左、右五個看得到的面,你想將所有切塊的蛋糕的這些好吃程度相加,並最大化這個值。

舉例來說,下圖方格上的數字表示其好吃程度。若依紅線方式切大蛋糕,並將左上角的蛋糕裝在盤子上後,其外觀分別如下。這塊蛋糕的好吃程度總和為 21+10+11+6+8=56。而另外三塊蛋糕的好吃程度總和分別為 52,37,50,故以這種方式切蛋糕你可以得到的外側的好吃程度總和為 56+52+37+50=195

因為你還不知道會有多少人要來一起分享,你想知道對於每一個介於 [1,N×M] 的正整數 K,切出恰好 K 塊蛋糕的好吃程度總和最大可以是多少,或是判斷不存在合法的方式切出恰好 K 塊蛋糕。相信這樣的問題對已經在 APCS 實作題拿下滿分的你來說一定是一塊小蛋糕。

Input Format

第一行包含兩個正整數 N,M,表示大蛋糕的大小。

接下來 N 行,第 i 行包含 M 個正整數 di,1,di,2,,di,M,表示小蛋糕的好吃程度

  • 1N×M106
  • 1di,j200

Output Format

輸出一行,包含 N×M 個整數,對於第 i 個整數,若不存在切出恰好 i 塊蛋糕的方式,請輸出 1;否則請輸出切出恰好 i 塊蛋糕的好吃程度總和最大可以是多少。

Sample Input 1

4 6
2 3 5 1 5 5
4 4 3 5 1 1
2 3 2 2 1 3
3 2 2 5 3 4

Sample Output 1

135 174 206 237 230 253 -1 262 255 269 -1 292 -1 -1 301 309 -1 324 -1 332 -1 -1 -1 355

Sample Input 2

3 2
1 2
3 4
5 6

Sample Output 2

56 77 84 95 -1 105

Sample Input 3

1 8
3 1 4 1 5 9 2 6

Sample Output 3

102 116 127 135 141 146 151 155

Hints

本題輸入資料量較大,建議 C++ 輸入輸出使用者加上 cin.tie(0); 以及 ios_base::sync_with_stdio(0); 兩行,並以 \n 代替 endl 以加速輸入。

Problem Source

IOICamp 2024 PreExam pA

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 3~8 N=1 14
3 9~14 N15,M15 7
4 9~20 N50,M50 22
5 0~34 無額外限制 57

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1 5
1 1000 262144 65536 1 5
2 1000 262144 65536 1 5
3 1000 262144 65536 2 5
4 1000 262144 65536 2 5
5 1000 262144 65536 2 5
6 1000 262144 65536 2 5
7 1000 262144 65536 2 5
8 1000 262144 65536 2 5
9 1000 262144 65536 3 4 5
10 1000 262144 65536 3 4 5
11 1000 262144 65536 3 4 5
12 1000 262144 65536 3 4 5
13 1000 262144 65536 3 4 5
14 1000 262144 65536 3 4 5
15 1000 262144 65536 4 5
16 1000 262144 65536 4 5
17 1000 262144 65536 4 5
18 1000 262144 65536 4 5
19 1000 262144 65536 4 5
20 1000 262144 65536 4 5
21 1000 262144 65536 5
22 1000 262144 65536 5
23 1000 262144 65536 5
24 1000 262144 65536 5
25 1000 262144 65536 5
26 1000 262144 65536 5
27 1000 262144 65536 5
28 1000 262144 65536 5
29 1000 262144 65536 5
30 1000 262144 65536 5
31 1000 262144 65536 5
32 1000 262144 65536 5
33 1000 262144 65536 5
34 1000 262144 65536 5