結果
| 問題 | No.2509 Beam Shateki | 
| コンテスト | |
| ユーザー |  amentorimaru | 
| 提出日時 | 2023-08-18 22:55:17 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 1,596 ms / 2,000 ms | 
| コード長 | 1,098 bytes | 
| コンパイル時間 | 396 ms | 
| コンパイル使用メモリ | 82,116 KB | 
| 実行使用メモリ | 78,236 KB | 
| 最終ジャッジ日時 | 2024-06-24 16:28:29 | 
| 合計ジャッジ時間 | 45,172 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 61 | 
ソースコード
import sys
input = sys.stdin.readline
def read_values(): return tuple(map(int, input().split()))
def read_list(): return list(read_values())
def main():
    h,w=read_values()
    a=[]
    for _ in range(h):
        a.append(read_list())
    ans=0
    st=set()
    for i in range(-1,h+1):
        st.add((i,-1))
        st.add((i,w))
    for i in range(-1,w+1):
        st.add((-1,i))
    d=[(0,1),(1,-1),(1,0),(1,1)]
    l=[]
    for fx,fy in st:
        for dx,dy in d:
            tmp=0
            x=fx
            y=fy
            visit=set()
            while True:
                x+=dx
                y+=dy
                if x<0 or y<0 or x>=h or y>=w:
                    break
                if not (x,y) in visit:
                    tmp+=a[x][y]
                visit.add((x,y))
            l.append((tmp,visit))
    for score,visit in l:
        for score2,visit2 in l:
            tmp=score+score2
            for v in visit:
                if v in visit2:
                    tmp-=a[v[0]][v[1]]
            ans=max(ans,tmp)
    print(ans)
if __name__ == "__main__":
    main()
            
            
            
        