题目背景
WD整日沉浸在数列中,无法自拔……
题目描述
WD很喜欢数列。他认为两个序列A,B是匹配的,当且仅当∣A∣=∣B∣且对于1≤i,j≤∣A∣,Ai−Bi=Aj−Bj.即长度相同且一个数列同时加上一个数可以和另一个数列完全一样。
现在CX给了他一个长度为n的大数列,WD希望知道,数列中有多少对不相交的子串使得他们是匹配的。
输入格式
第一行一个数n,表示数列长度。第二行n个数,表示序列中的数字。
输出格式
共一行一个数,为匹配的子串个数。
5
1 2 3 4 5
13
10
1 0 -1 -1 -2 -2 -3 -3 -4 -5
65
提示
对于样例,任意两个不相交且长度相等的子串都是匹配的,长度为1时有10种,长度为2时有3种,因此总共有13种。
subtask1(11pts): 1≤n≤100
subtask2(34pts): 1≤n≤1,000
subtask3(55pts): 1≤n≤300,000
对于所有数据,数列中数字的绝对值≤109。subtask3的时限为3s,其它为1s.