测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7360. [Poetize6] IncDec Sequence

编程题 普及+/提高
知识点

题目描述

给定一个长度为 $n$ 的数列 $a_1,a_2,\cdots,a_n$。

每次可以选择一个区间 $[l,r]$,使这个区间内的所有数都加 $1$,或者都减 $1$。

请问至少需要多少次操作,才能使数列中的所有数都一样。

并且在保证操作次数最少的前提下,最终得到的数列有多少种不同的结果。

输入格式

第一行一个正整数 $n$。

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

输出格式

第一行输出一个整数,表示最少操作次数。

第二行输出一个整数,表示在最少操作次数下,最终能得到多少种不同的结果。

输入输出样例

输入 #1
4
1
1
2
2
输出 #1
1
2

说明/提示

## 样例解释

原数列为:

$1,1,2,2$

一种做法是选择区间 $[3,4]$,整体减 $1$,得到:

$1,1,1,1$

所以最少操作次数为 $1$。

同时也可以选择区间 $[1,2]$,整体加 $1$,得到:

$2,2,2,2$

因此在最少操作次数下,最终结果有 $2$ 种。

## 数据范围

对于 $100\%$ 的数据:

$1 \le n \le 100000$

$0 \le a_i \le 2^{31}$
上一题 去做题 下一题