说明
给定一个 n 行 n 列 的矩阵 a。
有 q 组询问,每次给定一个 v,请将矩阵每一行任意重排(可以不重排),最大化最大值不小于 v(也就是说,至少有一个不小于 v 的数)的列数。请输出这个列数。
询问之间相互独立。换言之,每次询问前可以重新排列。
输入格式
第一行两个正整数 n,q。
第 2∼n+1 行,每行 n 个正整数,表示矩阵 a。
接下来 q 行每行一个正整数 v,表示一次询问。
输出格式
对于每次询问,输出一行一个整数表示答案。
3 3
9 9 8
2 4 4
3 5 3
5
9
10
3
2
0
提示
样例解释
原矩阵为 923945843。
对于第一次询问,每一列的最大值 9,9,8 均不小于 v=5,所以每一列都符合条件,答案为 3。显然无论怎么重排都不可能超过 3 列(因为总共只有 3 列),所以答案为 3。
数据规模与约定
本题开启捆绑测试。
| Subtask |
分值 |
n≤ |
q≤ |
| 0 |
10 |
3 |
10 |
| 1 |
40 |
100 |
103 |
| 2 |
50 |
103 |
5×105 |
对于所有数据,1≤n≤103,1≤q≤5×105,1≤ai,j,v≤109。