CF1566D1.Seating Arrangements (easy version)

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Seating Arrangements (easy version)

题目描述

这是该问题的简单版本。唯一的区别是本版本中 n=1n = 1

在电影院中,座位可以表示为一个有 nnmm 列的表格。行号从 11nn。每一行的座位从左到右依次编号:第 kk 行的座位编号为 m(k1)+1m(k-1)+1mkmk,对于所有 1kn1 \leq k \leq n 的行。

$$\begin{aligned} &1 \\ &2 \quad \cdots \quad m-1 \quad m \quad m+1 \\ &m+2 \quad \cdots \quad 2m-1 \quad 2m \quad 2m+1 \\ &2m+2 \quad \cdots \quad 3m-1 \quad 3m \quad \vdots \\ &\vdots \quad \ddots \quad \vdots \quad \vdots \quad m(n-1)+1 \\ &m(n-1)+2 \quad \cdots \quad nm-1 \quad nm \end{aligned}$$

上表为座位编号表。

nmnm 个人想去电影院观看新电影。他们编号为 11nmnm。你需要为每个人分配一个且仅一个座位。

已知在这个电影院中,座位编号越小,观影效果越好。第 ii 个人的视力等级为 aia_i。设 sis_i 为分配给第 ii 个人的座位编号。你希望视力等级较低的人能获得更好的座位,因此对于任意两个人 iijj,如果 ai<aja_i < a_j,则应满足 si<sjs_i < s_j

当所有人分配好座位后,他们会依次入场并就座。按照 11nmnm 的顺序,每个人进入影厅并坐到自己的座位。为了到达自己的座位,这个人会走到所在行,并从该行的第一个座位向右依次走到自己的座位。在行进过程中,有些座位是空的,有些已经被其他人占据。这个人的“不便度”定义为他经过的已被占据的座位数。

举个例子:m=5m=5,某人被分配到第一行的第 44 号座位,第一行的 113355 号座位已经被占据,2244 号座位是空的。这个人的不便度为 22,因为他经过了已被占据的 1133 号座位。

请你计算,在满足所有条件的情况下,分配座位使得总不便度最小是多少。

输入格式

输入包含多组测试用例。第一行包含一个整数 tt1t1001 \leq t \leq 100),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnmmn=1n=11m3001 \leq m \leq 300),分别表示行数和每行的座位数。

每个测试用例的第二行包含 nmn \cdot m 个整数 a1,a2,,anma_1, a_2, \ldots, a_{n \cdot m}1ai1091 \leq a_i \leq 10^9),其中 aia_i 表示第 ii 个人的视力等级。

保证所有测试用例中 nmn \cdot m 的总和不超过 10510^5

输出格式

对于每个测试用例,输出一个整数,表示可以获得的最小总不便度。

说明/提示

在第一个测试用例中,只有一种分配方式,因为所有视力等级都不同。第一个人坐在第一个座位,第二个人坐在第二个座位,第三个人坐在第三个座位。因此,第一个人的不便度为 00,第二个人为 11,第三个人为 22。总不便度为 0+1+2=30+1+2=3

在第二个测试用例中,分配应为:s1=2s_1=2s2=1s_2=1s3=5s_3=5s4=4s_4=4s5=3s_5=3。总不便度为 66

由 ChatGPT 4.1 翻译

样例

4
1 3
1 2 3
1 5
2 1 5 3 3
1 2
2 1
1 6
2 3 2 1 1 1
3
6
0
1

在线编程 IDE

建议全屏模式获得最佳体验