AT_cpsco2019_s1_h Highest and Ends

题目描述

给你一个长度为 $N$ 的整数序列 $A_1, A_2, \ldots, A_N$ 和一个目标整数 $X$。你的任务是找出满足以下条件的整数三元组 $(l, m, r)$ 的数量: 1. 满足位置关系:$1 \le l \le m \le r \le N$ 2. 在这些位置上,$A_l + A_m + A_r = X$ 3. $A_m$ 是区间 $[l, r]$ 中的最大值

输入格式

输入通过标准输入提供。第一行包含两个整数 $N$ 和 $X$。第二行包含序列 $A_1, A_2, \ldots, A_N$。

输出格式

输出符合条件的三元组数量。 ## 数据范围 - $1 \le N \le 10^5$ - $0 \le X \le 3 \times 10^5$ - $0 \le A_i \le 10^5$ ## 部分分数 如果在 $N \le 2000$ 的情况下能够正确解答,得 $300$ 分。 ### 示例说明 1 例如,对于 $(l, m, r) = (1, 3, 3), (1, 3, 4), (1, 4, 4), (2, 3, 5), (2, 4, 5), (5, 5, 5)$,一共有 $6$ 种组合满足条件。 **本翻译由 AI 自动生成**

说明/提示

### 制約 - $ 1\le\ N\le\ 10^5 $ - $ 0\le\ X\le\ 3\times\ 10^5 $ - $ 0\le\ A_i\le\ 10^5 $ - 入力はすべて整数 ### 部分点 この問題には部分点が設定されています。 - $ N\le\ 2000 $ を満たす入力に正解すると、$ 300 $ 点が与えられます。 ### Sample Explanation 1 $ (l,\ m,\ r)=(1,3,3),\ (1,3,4),\ (1,4,4),\ (2,3,5),\ (2,4,5),\ (5,5,5) $ の $ 6 $ つです。