結果
問題 | No.2094 Symmetry |
ユーザー |
|
提出日時 | 2022-10-07 21:39:05 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 598 ms / 2,000 ms |
コード長 | 609 bytes |
コンパイル時間 | 251 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 114,176 KB |
最終ジャッジ日時 | 2024-06-12 06:37:24 |
合計ジャッジ時間 | 13,622 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 |
ソースコード
n,k = map(int,input().split()) s = [input() for i in range(2*n)] c = [list(map(int,input().split())) for i in range(2*n)] cnt = 0 for i in range(2*n): for j in range(2*n): if s[i][j] == "#": cnt += 1 mx = [] for i in range(2*n): for j in range(2*n): mx.append(c[i][j]) mx.sort(key = lambda x:-x) ans = 0 for i in range(cnt): ans += mx[i] if cnt % 2 == 1: print(ans) else: syn = [] for i in range(2*n): for j in range(n): syn.append(c[i][j] + c[i][2*n-j-1]) syn.sort(key = lambda x:-x) ans2 = 0 for i in range(cnt//2): ans2 += syn[i] print(max(ans, ans2+k))