加减序列

提交数: 5, 通过率: 20%, 平均分: 28

题目描述:

给定一个长度为 $n$ 的数列 ${a_1,a_2,\cdots,a_n}$,每次可以选择一个区间$[l,r]$,使这个区间内的数都加 $1$ 或者都减 $1$。 请问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多少种。

输入格式:

第一行一个正整数 $n$ 接下来 $n$ 行,每行一个整数,第 $i+1 $行的整数表示 $a_i$。

输出格式:

第一行输出最少操作次数

第二行输出最终能得到多少种结果

数据范围:

对于 $100\%$ 的数据,$n\le 100000, 0 \le a_i \le 2^{31}$。

样例输入:

(双击复制)
4
1
1
2
2

样例输出:

(双击复制)
1
2
时间限制: 1000ms
空间限制: 256MB