F - Merge Sets Editorial by toam


解説の後半部分における二重シグマの値は,ソートされた \(A_i\) を順番に結合したものを \(B\) としたとき,\(B\) の転倒数の値と等しいです.

def inversion(a):
    # 配列 a の転倒数を返す関数
    return 


n, m = map(int, input().split())
a = []
for i in range(n):
    a += sorted(list(map(int, input().split())))
ans = n * (n - 1) // 2 * m * (m + 1) // 2
print(ans + inversion(a))

posted:
last update: