#144. 城堡防御矩阵
城堡防御矩阵
题目描述
在遥远的幻想大陆上,有一座神秘的城堡。城堡所属的 E 国以其奇特的树木防御系统闻名,而国王小 E 正为如何优化这一系统而烦恼。传说只有能够破解隐藏在一组数字背后的智慧者,才能为城堡带来最稳固的防御。于是,你受命利用一组矩阵数据,找出最优的排列方式,提升城堡防御的效能。
给定一个 行 列 的矩阵 。
现有 组询问,每次给定一个数 。你可以对矩阵的每一行进行任意重排(也可以选择不重排),目标是使得经过重排后,满足列中最大值不小于 的列数达到最大。请你计算出这个最大列数。
每次询问相互独立,也就是说,每次询问前均可对矩阵重新排列。
输入格式
第一行包含两个正整数 和 。
接下来的 行,每行包含 个正整数,构成矩阵 。
接下来 行,每行包含一个正整数 ,表示一次询问。
输出格式
对于每次询问,输出一个整数,表示经过最优重排后,满足列中最大值不小于 的列数。
样例输入
3 3
9 9 8
2 4 4
3 5 3
5
9
10
样例输出
3
2
0
说明
原矩阵为
[9 9 8]
[2 4 4]
[3 5 3]
对于第一次询问 ,每一列经过最优排列后的最大值分别为 ,均不小于 ,因此答案为 。注意,每次重排的过程相互独立,且最多只能选出 列。
对于所有数据,满足: , , 。