結果
問題 |
No.1028 闇討ち
|
ユーザー |
|
提出日時 | 2020-04-26 01:56:52 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 419 ms / 2,000 ms |
コード長 | 777 bytes |
コンパイル時間 | 356 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 153,728 KB |
最終ジャッジ日時 | 2024-11-08 16:50:16 |
合計ジャッジ時間 | 6,293 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
#!/usr/bin/env python3 import sys readline = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) # editorial n = int(readline()) occ = [[] for _ in range(n)] for i in range(n): aa = list(map(int, readline().split())) for j in range(n): occ[aa[j] - 1].append((i, j)) tot = 0 for i in range(n): a = [0] * n b = [0] * (n + 1) for (x, y) in occ[i]: a[0] += max(x, y) if x - y >= 1: b[1] -= 1 b[x - y + 1] += 1 if x + y + 1 < n: b[x + y + 1] += 1 for i in range(n - 1): b[i + 1] += b[i] for i in range(n): a[i] += b[i] for i in range(n - 1): a[i + 1] += a[i] mi = n * n for i in range(n): mi = min(mi, a[i]) tot += mi print(tot)