#P8458. 「REOI-p1」打捞

「REOI-p1」打捞

题目背景

出题人:XL4453

验题人:犇犇犇犇

文案:小糯米

upd:注意,先取模再取max

题目描述

“别介意,我和那些家伙都是打捞者。我们在头一次追寻梦想降落到地表时,就做好丧命的准备和赴死的觉悟了。”

葛力克一行人在一次打捞中,时来运转,获得了不少的宝藏。在归途之路,言及谁的功劳最大之时,大家却起了冲突。有人说自己的宝藏是史上绝无仅有,是在鬼门关前绕了一大圈才好不容易抢到的一个;有人说自己惨淡经营,虽然没有获得那么珍贵的宝物,但数量可观,也足以与之相提并论;也有人说自己的收获二者兼有,应当综合评价云云:总之,场面一片混乱,颇有生死与共的患难之交从此决裂的危险。

于是,大家把目光投到了葛力克的身上,这让他十分为难。思索良久,他决定这样来评价大家的贡献:

假设一共有 nn 名打捞者,第 ii 位打捞者 aia_i 取得的宝物数量为 lil_i ,而其中第 pp 件宝物对应的价值则为 ai,pa_{i,p} ,那么在计算的时候只需要将每个序列相加求和即可。但是葛力克并不满足于现状,他现在想知道,如果是将两个人的贡献放在一起看待,那么又将如何计算呢? 一番激烈的头脑风暴后,他决定这样来计算两位打捞者 i,ji,j 之间的贡献 g(i,j)g(i,j) :将 aia_iaja_j 分别复制数遍使得两堆宝物的数量都为 kk ,得到两个序列 ai,aja_i',a_j' ,则 $g(i,j)= \sum\limits_{p=1}^k a'_{i,p}\times a'_{j,p}$ 。

现在葛力克想知道,这个贡献值的最大值是多少。

因为贡献值可能会很大,超出了正常生物大脑的运算能力,所以我们对它进行 998244353998244353 的取余。


形式化题面:给定一个整数 nn,和 nn 个序列,第 ii 个序列 {ai}\{a_i\} 长度为 lil_i,将每个 aia_i 复制 kli\dfrac k{l_i} 遍得到 {ai}\{a'_i\} 使得 {ai}\{a'_i\} 的长度为 kk

试求:$\max\limits_{i=1,j=i+1}^{i,j\leq n}\{g(i,j)\bmod 998244353\}$,其中$g(i,j)= \sum\limits_{p=1}^k a'_{i,p}\times a'_{j,p}$ 。

输入格式

第一行两个整数 nnkk

接下来输入 nn 行。第 i+1i + 1 行第一个数为 lil_i,接下来输入 lil_i 个数,表示打捞者的宝藏 aia_i

输出格式

一个整数,表示所求的最大值。

2 12
3 2 3 4
4 1 2 3 4
90
3 999999924
4 4 4 5 3
7 1 9 1 9 8 1 0
6 1 1 4 5 1 4
599517664

提示

样例解释 #1

a1=2,3,4,2,3,4,2,3,4,2,3,4a_1'=2, 3, 4, 2, 3, 4, 2, 3, 4, 2, 3, 4
a2=1,2,3,4,1,2,3,4,1,2,3,4a_2'=1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4
$g(1,2)=2\times1+3\times2+4\times3+2\times4+3\times1+4\times2+2\times3+3\times4+4\times1+2\times2+3\times3+4\times4=90$。

样例解释 #2

g(1,2)mod998244353=599517664g(1,2)\bmod998244353=599517664
g(1,3)mod998244353=350889018g(1,3)\bmod998244353=350889018
g(2,3)mod998244353=66930325g(2,3)\bmod998244353=66930325
$\max\limits_{1\leq i < j \leq n}\{g(i,j)\bmod998244353\}=599517664$。

数据范围

对于 10%10\% 的数据,有 n=2n=2
对于 30%30\% 的数据,有 k100k \leq 100
对于 60%60\% 的数据,所有 lil_i 两两互质,即 gcd(li,lj)=1(1i<jn)\gcd(l_i,l_j)=1(1\leq i < j \leq n)gcd\gcd最大公约数
对于 100%100\% 的数据,有 $1\leq n\le 100,1\leq l_i\le 1000,1\leq k,a_{i,j}\le 10^{9}$ 且对于任意的 i[1,n],liki \in [1,n],l_i\mid k