3798: 打标签(第四轮04)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:5 解决:2

题目描述

白浅妹妹的班里有许多同学。

白浅妹妹是一个爱打标签的孩子, 在她的眼里, 每一个人有 n  种属性, 每个人的每个属性 都是一个  [0, k]   中的整数。

显然,在白浅妹妹这种打标签的方法下,所有人恰好被分为了  (k + 1)n   类。 巧合的是,白浅妹妹的班级里,每一类人恰好有一个。

白浅妹妹认为,班级里的两个人可以交朋友,当且仅当这两个人每一个属性,差的绝对值都 不超过  1  。当然,每一个人都可以和自己交朋友。

此外,白浅妹妹认为,班级里面的每一个同学都有一个友好度(可以是负数)。

 

 

她认为,一个人在这个班级里的存在感,和她朋友的友好度是有关的。所以白浅妹妹定义一 个人的存在感,为这个人所有朋友的友好度之和,对 998244353  取模的结果。

现在,白浅妹妹数出了每一位同学的存在感,但她却不小心忘记了他们友好度。 白浅妹妹想知道,对于给出的存在感,能否还原出所有同学的友好度呢?

大样例: example.zip

输入

第一行输入两个正整数 n, k  。

第二行有  (k + 1)n   个自然数, 按 k + 1  进制下从小到大的顺序,表示每一个人的存在感。

输出

先输出一个数字 k  ,表示能否进行还原。

若 k = 0  ,表示不存在任何一组合法的友好度; 

若 k = 1  ,表示至少存在一组合法的友好度;

若 k ≠  0  ,在第二行输出任何一组合法的友好度,顺序与输入相同。 你需要保证输出的数字为  [0,998244353)  间的自然数。

样例输入 复制

1 4
0 1 2 5 4

样例输出 复制

1
3 998244350 1 4 0

提示

【样例 1 输入】

1 4

0 1 2 5 4

【样例 1 输出】

1

3 998244350 1 4 0

【说明】

这个样例在模意义下仍然存在多解。

例如 2 998244351 1 3 1  仍然为一组合法的输出。

【样例 2 输入】

1 6

0 1 2 2 2 1 1

【样例 2 输出】

1

0 0 1 1 0 1 0

【说明】

这是唯一的解

【样例 3 输入】

1 4

0 1 2 5 3

【样例 3 输出】

0

【备注】

对于所有数据,保证: 1 ≤  n ≤  10^6

0 ≤  k  ≤  10^6

(k + 1)n  ≤  10^6

设 A  表示输入友好度的最大值,则 A < 998244353 本题共 25  个测试点,每个测试点  4  分。


来源/分类