#P10638. 旅人铭刻之壁

旅人铭刻之壁

旅人铭刻之壁

“一如既往继续旅行、置身于一如既往景色中的她,究竟是谁? 没错,就是我。”

墙壁上有一副 nn 个点的地图,可以抽象为一个长度为 nn 的序列 XX

两个点 i,ji,j 有路径当且仅当满足以下条件之一:

  • ij=1|i-j|=1
  • Xi=XjX_i=X_j

少女想要选择起点 uu 和终点 vv 来继续她的旅行,并且想要 (u,v)(u,v) 之间的最短路尽可能长。但她并不满足于此,少女还想知道自己能有多少种不同的旅行方案。而你作为她的一条狗(好伙伴),有义务帮她解决这个问题。

输入格式

第一行一个正整数 nn

第二行 nn 个数表示序列 XX

输出格式

一行两个正整数,分别代表这张图的直径和方案数。

G=(V,E)G=(V,E) 的直径的定义为:max{dist(i,j)i,jV}\max\{\text{dist}(i,j)\mid i, j \in V\}dist(i,j)\text{dist}(i,j)i,ji, j 之间的最短路。

两个长度相等的直径 diam(u1,v1),diam(u2,v2)\text{diam}(u_1, v_1), \text{diam}(u_2, v_2) 不同当且仅当  xdiam(u1,v1)\exists\ x \in \text{diam}(u_1, v_1)x∉diam(u2,v2)x \not\in \text{diam}(u_2, v_2)

样例 1 输入

3
0 1 2

样例 1 输出

2 1

样例 2 输入

11
1 1 1 1 1 1 1 1 1 1 1

样例 2 输出

1 55

测试点约束

保证 2n1052 \le n \le 10^5Xi<8X_i < 8

子任务 1(20 pts)

n500n \le 500

子任务 2(10 pts)

i,j[1,n]Xi=Xj\forall {i,j \in [1, n] }, X_i = X_j

子任务 3(30pts)

n5000,Xi<4n \le 5000, X_i < 4

子任务 4(40 pts)

无特殊限制。