#584. 情报加密

情报加密

Cannot parse: (0 , import_utils.normalizeSubtasks) is not a function or its return value is not iterable

情报加密

【题目背景】

身为潜伏在西国中的东国情报特工,你得到了西国的秘密情报。

为了防止意外发生,你需要将写有情报信息的纸条带到指定地点与队友交接,再由队友将情报带回东国。同时为了保证纸条里的秘密不被泄露,你决定对纸条内容进行处理。

【题目描述】

纸条内的信息为一串长度为 nn 的数列,为了隐藏真正的内容,你将对这个数列使用自创的加密方法处理,使这个秘密信息中最后只剩下两个数字。

加密过程将写在另一张纸条上,这样即使西国得到了任意一张写有秘密信息的纸条都无法破解信息。 即使两张纸条都落入敌方手中,由于加密方法不明,西国也无法破解其中的信息。

信息加密处理后的第一个数是指,选择数列中的两个数字,对这两个数字和在这两个数字之间的所有数都进行加 11 或者减 11 操作,令数列中的所有数字都相同的这个数。另一个数字是指原有秘密信息长度。这两个数字组成最后的加密结果。

为了评估这个方案的可行性,在处理之前需要计算出加密的最少操作次数,以及在使用最少操作次数的情况下,最后能得到几种加密结果。

【输入格式】

第一行包含一个整数 nn

接下来的 nn 行表示情报信息,每行包含一个整数 aa

【输出格式】

第一行输出最少处理次数。

第二行输出最终能得到几种加密结果。

【样例】

输入数据

4
1
1
2
2

输出数据

1
2

【说明】

对于 100%100\% 的数据,nn \leq 100000, 0 \leq aa \leq 2312^{31}