A. 徐老师的波动序列

    传统题 文件IO:number 1000ms 256MiB

徐老师的波动序列

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

徐老师的波动序列

文件读写

  • 输入文件number.in
  • 输出文件number.out

限制

  • 1000ms
  • 512MB

题目描述

徐老师有一个包含 nn 个数字的序列 a1∼ana_1 \sim a_n 和一个波动值 mm(mm 为正整数)

对于这个序列和波动值,徐老师会按照以下规则依次生成一个波动序列 bib_i,其中 b1=a1b_1 = a_1,对于 i≠1i \not= 1,则分类讨论:

  1. ai>ai−1a_i > a_{i-1},则 bi=bi−1+mb_i = b_{i-1} + m
  2. ai=ai−1a_i = a_{i-1},则 bi=bi−1b_i = b_{i-1}
  3. ai<ai−1a_i < a_{i-1},则 bi=bi−1−mb_i = b_{i-1} - m

徐老师认为序列 aa 和 序列 bb 的相似度越高,则这个波动值 mm 就越准确

P.S. 这里的相似度是指有多少个 ii 满足 ai=bia_i=b_i

现在徐老师想知道,波动值为多少时序列 aa 和序列 bb 的相似度最高?

输入格式

输入第一行包含一个整数 nn,表示序列长度

输入第二行包含 nn 个整数,分别表示 aia_i

输出格式

输出第一行包含一个整数,表示最高的相似度。

输出第二行包含一个整数,表示最高相似度时的波动值 mm(如果有多个 mm 可以使得相似度最高,则输出最小的 mm)

数据范围

对于 30%30\% 的数据 n≤103n \le 10^3。

对于 50%50\% 的数据 n≤104n \le 10^4。

对于 70%70\% 的数据 n≤105n \le 10^5。

对于 100%100\% 的数据 $n \le 10^6,-2 \times 10 ^9 \le a_i \le 2 \times 10^9$。

样例输入1

5
1 2 3 2 1

样例输出1

5
1

样例输入2

7
2 0 -6 -2 3 5 10

样例输出2

4
4