#1679. [NOI Online 2022 提高组] 如何正确地排序

[NOI Online 2022 提高组] 如何正确地排序

题目描述

有一个 m×nm\times n 的数组 ai,ja_{i,j}
定义:

f(i,j)=mink=1m(ak,i+ak,j)+maxk=1m(ak,i+ak,j)f(i,j)=\min\limits_{k=1}^m(a_{k,i}+a_{k,j})+\max\limits_{k=1}^m(a_{k,i}+a_{k,j})

你需要求出 i=1nj=1nf(i,j)\sum\limits_{i=1}^n\sum\limits_{j=1}^nf(i,j)

输入格式

第一行两个正整数 m,nm,n

接下来 mm 行,每行 nn 个正整数表示 ai,ja_{i,j}

输出格式

一行一个正整数,表示答案。

样例 #1

样例输入 #1

3 5
1 7 2 2 7
9 10 4 10 3
7 7 8 10 2

样例输出 #1

564

提示

【样例 1 解释】

f(3,5)f(3,5) 为例:

f(3,5)=max(a1,3+a1,5,a2,3+a2,5,a3,3+a3,5)+min(a1,3+a1,5,a2,3+a2,5,a3,3+a3,5)=max(9,7,10)+min(9,7,10)=10+7=17\begin{aligned}f(3,5)&=\max(a_{1,3}+a_{1,5},a_{2,3}+a_{2,5},a_{3,3}+a_{3,5})+\min(a_{1,3}+a_{1,5},a_{2,3}+a_{2,5},a_{3,3}+a_{3,5})\\&=\max(9,7,10)+\min(9,7,10)\\&=10+7\\&=17\end{aligned}

下面给出 f(i,j)f(i,j) 的数表,第 ii 行第 jj 列表示 f(i,j)f(i,j)

20271822202734242923182420221722292224222023172218\begin{array}{|c|c|c|c|c|}\hline20&27&18&22&20\\\hline27&34&24&29&23\\\hline18&24&20&22&17\\\hline22&29&22&24&22\\\hline20&23&17&22&18\\\hline\end{array}

它们的和是答案 564564

【样例 2, 3, 4】

见文件的 sort/sort*.insort/sort*.ans

【数据范围与提示】

对于所有测试点:2m42\le m\le 41n2×1051\le n\le 2\times {10}^51ai,j2×1051\le a_{i,j}\le 2\times 10^5

每个测试点的具体限制见下表