题目描述
给 n 个序列,每个序列有 m 个数。
现需要从每个序列中选出一个数,在这些数中最大值和最小值的差值不超过 d 的情况下,使他们的和最大。
输入格式
第一行,两个整数 n,m,d(1≤nm≤2×105,0≤d≤104)。
接下来 n 行,每行 m 个数,a1,a2,…,am(0≤ai≤109)表示一个序列。
输出格式
如果不存在合法的选择方式,输出 No solution。否则输出一个整数,表示在所选数最大值和最小值的差值不超过 d 的情况下,和最大是多少。
输入样例
3 5 1
9 5 0 4 6
6 4 0 0 7
1 9 1 7 10
输出样例
20
样例说明
从 3 个序列中分别选择 6,7,7 即可。
子任务
有 20% 的数据满足 nm≤5000。
另有 20% 的数据满足 n=2。
另有 20% 的数据满足 d=0。
另有 20% 的数据满足 n=10。
对于所有的测试数据,满足 1≤nm≤2×105,0≤d≤104,0≤ai≤109。