#P14022. [ICPC 2024 Nanjing R] Bingo
[ICPC 2024 Nanjing R] Bingo
题目描述
给定两个整数 和 ,以及一个长度为 的整数序列 ,我们将用序列里的数字填入一个 行 列的网格。具体来说,令 表示位于第 行第 列的格子,我们会将序列里的第 个数(也就是 )填入那个格子中。
称整数 是序列的 “bingo 整数”,若将所有数字填入格子后,以下两个条件至少满足一个。
- 至少存在一行,使得那一行所有格子里的整数都小于等于 。
- 至少存在一列,使得那一列所有格子里的整数都小于等于 。
容易发现,一个序列可以有很多 bingo 整数。不过本题中,我们只对最小的 bingo 整数感兴趣。
对于给定序列的所有 个排列,求每个排列的最小 bingo 整数之和。由于答案可能很大,请将答案对 取模后输出。
输入格式
有多组测试数据。第一行输入一个整数 表示测试数据组数。对于每组测试数据:
第一行输入两个整数 和 (,),表示网格的行数和列数。
第二行输入 个整数 ()表示给定序列。
保证所有数据 之和不超过 。
输出格式
每组数据输出一行一个整数表示答案。
4
2 2
1 3 2 4
3 1
10 10 10
1 3
20 10 30
3 4
1 1 4 5 1 4 1 9 1 9 8 10
56
60
60
855346687
提示
对于第一组样例数据,如果 和 不在同一行或同一列,那么最小 bingo 整数就是 ,否则最小 bingo 整数就是 。在 个排列中, 和 不在同一行或同一列,所以答案是 。
对于第二组样例数据,最小 bingo 整数总是 ,所以答案是 。