求题解
  • 板块灌水区
  • 楼主cyz111111
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/7 18:04
  • 上次更新2024/8/7 19:16:24
查看原帖
求题解
1127295
cyz111111楼主2024/8/7 18:04

题目描述 有一行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。

其余样例见下发文件。

2024/8/7 18:04
加载中...