結果

問題 No.2509 Beam Shateki
ユーザー detteiuu
提出日時 2024-12-22 01:18:26
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 238 ms / 2,000 ms
コード長 1,568 bytes
コンパイル時間 316 ms
コンパイル使用メモリ 82,584 KB
実行使用メモリ 101,380 KB
最終ジャッジ日時 2024-12-22 01:18:41
合計ジャッジ時間 12,202 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

from collections import defaultdict
H, W = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(H)]
SUM = sum(sum(a) for a in A)
if H == 1 or W == 1:
exit(print(SUM))
sumH = [0]*H
sumW = [0]*W
sumHW1 = [0]*(H+W-1)
sumHW2 = [0]*(H+W-1)
for i in range(H):
for j in range(W):
sumH[i] += A[i][j]
sumW[j] += A[i][j]
sumHW1[i-j] += A[i][j]
sumHW2[i+j] += A[i][j]
sumHS = sorted(sumH)
sumWS = sorted(sumW)
sumHW1S = sorted(sumHW1)
sumHW2S = sorted(sumHW2)
ans = max(sum(sumHS[-2:]), sum(sumWS[-2:]), sum(sumHW1S[-2:]), sum(sumHW2S[-2:]))
D = defaultdict(int)
for i in range(H):
for j in range(W):
T = (0, i, i-j)
D[T] = A[i][j]
T = (1, i, j)
D[T] = A[i][j]
T = (2, i, i+j)
D[T] = A[i][j]
T = (3, i-j, j)
D[T] = A[i][j]
T = (4, i-j, i+j)
D[T] = A[i][j]
T = (5, j, i+j)
D[T] = A[i][j]
for i in range(H):
for j in range(-W+1, H):
ans = max(ans, sumH[i]+sumHW1[j]-D[(0, i, j)])
for i in range(H):
for j in range(W):
ans = max(ans, sumH[i]+sumW[j]-D[(1, i, j)])
for i in range(H):
for j in range(H+W-1):
ans = max(ans, sumH[i]+sumHW2[j]-D[(2, i, j)])
for i in range(-W+1, H):
for j in range(W):
ans = max(ans, sumHW1[i]+sumW[j]-D[(3, i, j)])
for i in range(-W+1, H):
for j in range(H+W-1):
ans = max(ans, sumHW1[i]+sumHW2[j]-D[(4, i, j)])
for i in range(W):
for j in range(H+W-1):
ans = max(ans, sumW[i]+sumHW2[j]-D[(5, i, j)])
print(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0