結果
問題 | No.2094 Symmetry |
ユーザー | tamato |
提出日時 | 2022-10-07 21:31:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 187 ms / 2,000 ms |
コード長 | 860 bytes |
コンパイル時間 | 147 ms |
コンパイル使用メモリ | 81,772 KB |
実行使用メモリ | 103,760 KB |
最終ジャッジ日時 | 2024-06-12 06:17:40 |
合計ジャッジ時間 | 6,487 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 |
ソースコード
mod = 998244353 def main(): import sys input = sys.stdin.readline N, K = map(int, input().split()) G = [] for _ in range(N * 2): G.append(input().rstrip('\n')) C = [] for _ in range(2*N): C.append(list(map(int, input().split()))) cnt = 0 A = [] for h in range(2*N): for w in range(2*N): A.append(C[h][w]) if G[h][w] == "#": cnt += 1 A.sort(reverse=True) ans = 0 for i in range(cnt): ans += A[i] if cnt & 1 == 0: B = [] for h in range(2*N): for w in range(N): B.append(C[h][w] + C[h][-w-1]) ans2 = K B.sort(reverse=True) for i in range(cnt // 2): ans2 += B[i] ans = max(ans, ans2) print(ans) if __name__ == '__main__': main()