最多数组数量
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

一个山峰数组定义为由三个元素组成 [a_1,a_2,a_3],满足 a_1<a_2 且 a_2>a_3

Bingbong有一个长度为 n 的数组 P,他将选择两个索引 i,j(1\leq i<j<n),然后分成三个非空连续的子数组,即b_1=\sum_{k=1}^{k=i} P_k,b_2=\sum_{k=i+1}^{k=j} P_k,b_3=\sum_{k=j+1}^{k=n} P_k,满足[b_1,b_2,b_3]是一个山峰数组。

Bingbong想知道共有多少个不同的 (i,j) 可以满足条件,请你帮助他计算一下。



输入描述:

第一行一个整数 n(3\leq n\leq 2\times 10^5),表示数组 P 的长度。

第二行 n 个整数,第 i 个数为 P_i(1\leq P_i\leq 10^6),表示数组元素。

输出描述:

一个整数,表示可以得到的山峰数组个数。
示例1

输入

复制
5
1 2 3 4 5

输出

复制
2