#P16464. 双端校验

双端校验

题目描述

一条自动化生产线上依次安装了 nn 个检测模块,第 ii 个模块的校验强度为正整数 aia_i

工程师需要从中选出一个长度大于 11 的连续区间进行联合校验。设所选区间的左端点为 ll、右端点为 rr。只有当区间两端模块的校验强度之和,恰好等于该区间内最大的校验强度时,这个区间才能通过联合校验,即

al+ar=maxi=lrai.a_l+a_r=\max_{i=l}^{r} a_i.

请统计有多少个不同的连续区间能够通过联合校验。两个区间不同,当且仅当它们的左端点或右端点不同。

输入格式

输入共两行,第一行为一个正整数 nn,表示检测模块的数量。

第二行有 nn 个正整数 aia_i,表示每个检测模块的校验强度。

输出格式

输出仅一行一个整数,表示能够通过联合校验的连续区间数量。

样例

样例输入 1

5
1 3 2 5 4

样例输出 1

2

有两个能够通过联合校验的区间,分别为 [1,3][1,3][1,5][1,5]

数据范围与提示

subtask1(30pts)subtask 1(30pts)n5000n \leq 5000

subtask2(30pts)subtask 2(30pts)n105n \leq 10^5

subtask3(40pts)subtask 3(40pts)n5105n \leq 5*10^5

对于所有数据,满足 1n5105,1ai1091 \leq n \leq 5*10^5,1 \leq a_i \leq 10^9