結果

問題 No.2509 Beam Shateki
ユーザー timi
提出日時 2023-10-28 04:30:56
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 103 ms / 2,000 ms
コード長 1,405 bytes
コンパイル時間 231 ms
コンパイル使用メモリ 81,828 KB
実行使用メモリ 77,252 KB
最終ジャッジ日時 2024-09-25 16:04:12
合計ジャッジ時間 6,912 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

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

H,W=map(int,input().split())
A=[]
B=[];C=[0]*W
D,E={},{}
for i in range(H):
AA=list(map(int, input().split()))
for j in range(W):
C[j]+=AA[j]
x=i+j
if x not in D:
D[x]=0
y=i-j
if y not in E:
E[y]=0
D[x]+=AA[j];E[y]+=AA[j]
A.append(AA)
B.append(sum(AA))
if H==1 and W==1:
print(AA[0])
exit()
DD,EE=[],[]
for d in D:
DD.append(D[d])
for e in E:
EE.append(E[e])
BB=sorted(B)[::-1];CC=sorted(C)[::-1];DDD=sorted(DD)[::-1];EEE=sorted(EE)[::-1]
ans=0
if len(BB)>1:
ans=max(ans,BB[0]+BB[1])
if len(CC)>1:
ans=max(ans,CC[0]+CC[1])
if len(DD)>1:
ans=max(ans,DDD[0]+DDD[1])
if len(EE)>1:
ans=max(ans,EEE[0]+EEE[1])
for d in D:
for e in E:
if (d+e)%2==0 and (d-e)%2==0:
x,y=(d+e)//2,(d-e)//2
if 0<=x<H and 0<=y<W:
f=1
else:
ans=max(ans,D[d]+E[e])
else:
ans=max(ans,D[d]+E[e])
for h in range(H):
if 0<=d-h<W:
f=1
else:
ans=max(ans,D[d]+B[h])
for w in range(W):
if 0<=d-w<H:
f=1
else:
ans=max(ans,D[d]+C[w])
for e in E:
for h in range(H):
if 0<=h-e<W:
f=1
else:
ans=max(ans,E[e]+B[h])
for w in range(W):
if 0<=e+w<H:
f=1
else:
ans=max(ans,E[e]+C[w])
for h in range(H):
for w in range(W):
a=A[h][w]
CC=[B[h],C[w],D[h+w],E[h-w]]
CC=sorted(CC)[::-1]
ans=max(ans,CC[0]+CC[1]-a)
print(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0