結果
問題 | No.1028 闇討ち |
ユーザー |
![]() |
提出日時 | 2020-04-17 21:55:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 396 ms / 2,000 ms |
コード長 | 1,111 bytes |
コンパイル時間 | 275 ms |
コンパイル使用メモリ | 82,688 KB |
実行使用メモリ | 150,528 KB |
最終ジャッジ日時 | 2024-10-03 12:47:12 |
合計ジャッジ時間 | 5,756 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
mod = 1000000007eps = 10**-9def main():import sysinput = sys.stdin.buffer.readlineN = int(input())grid = []for _ in range(N):grid.append(tuple(map(int, input().split())))hw = [[] for _ in range(N+1)]for h in range(N):for w in range(N):v = grid[h][w]hw[v].append((h, w))ans = 0for v in range(1, N+1):hw_list = hw[v]memo_neg = [0] * Nmemo_pos = [0] * Nfor h, w in hw_list:ans += wif h-w-1 >= 0:memo_neg[h-w-1] += 1if h+w+1 < N:memo_pos[h+w+1] += 1A_pos = [0] * Ncnt = 0for i in range(1, N):cnt += memo_pos[i]A_pos[i] = A_pos[i-1] + cntA_neg = [0] * Ncnt = 0for i in range(N-2, -1, -1):cnt += memo_neg[i]A_neg[i] = A_neg[i + 1] + cnttmp = 10**9for i in range(N):tmp = min(tmp, A_pos[i] + A_neg[i])ans += tmpprint(ans)if __name__ == '__main__':main()