P6979 [NEERC 2015] Generators
题目描述
罗曼在学习线性同余发生器——最古老,也是最广为人知的伪随机数生成算法之一。线性同余发生器(LCG)以 $x_0$ 为随机种子,生成很多非负整数 $x_i$ ,它遵循以下规则:
给定非负整数 $a,b,c\space(0≤x_00,1≤j≤n)$ ,使$s=\sum\limits_{j=1}^nx_{t_j}^{(j)}$最大,且$s\not\equiv0(mod\space k)$。
输入格式
第 $1$ 行包括两个整数$n,k$。
$(1≤n≤10000,1≤k≤10^9)$
接下来 $n$ 行描述LCG,每行包括4个整数:$x_0^{(j)},a^{(j)}, b^{(j)}, c^{(j)}$ 。
$(0≤a^{(j)}, b^{(j)}≤1000,0≤x_0^{(j)}
输出格式
如果有解,第 $1$ 行输出 $s$,第 $2$ 行输出 $n$ 个 $t_j$ 。
$(0≤t_j≤10^9)$ 。
如果无解,输出 $-1$ 。
说明/提示
时间限制:1秒
空间限制:256MB