题目描述 有一行n个人前往一家旅舍入住,第i个人初始被分配在第a[i]个房间,每个房间可以容纳任意多个人,m个房间构成一个环形。
你作为这家旅舍的老板,你知道第i个人入住第j个房间的幸福度是h[i][j],于是你可以进行以下操作来调整他们入住的房间:
选择两个人i,j。 将i顺时针移动x个房间,j逆时针移动x个房间,其中x是给定的参数。也就是说,如果 i 原本在第b[i]个房间,那么他会移动到第 b[i]+x(如果b[i]+x <= n)或 b[i]+x-n(如果b[i]+x>n)个房间,j同理。 求最终能达到的最大总幸福度。
输入格式 第一行一个整数t表示数据组数。
对于每组数据:
第一行三个整数n,m,x。
第二行 n个整数a[1]~a[n]。
接下来n行,第i行m个整数h[i][1~m]。
输出格式 共T行,每行一个整数表示对应组数据的答案。
样例 样例 1 输入
3
1 4 3
1
5 10 -6 -2
3 2 1
1 2 1
1 1
2 1
1 2
3 2 1
1 2 1
1 1
1 2
2 1
样例 1 输出
5
5
5
样例 1 解释 第一组数据:只有1个人,无法进行操作,故答案为h[1][1] = 5。
第二组数据,选择i = 3j = 2答案为5。
第三组数据:不进行操作,答案为5。
其余样例见下发文件。