传统题 文件IO:queue 1000ms 512MiB

排队

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

排队

所有输入均从 queue.in 读取,所有输出均写入 queue.out。

时间限制:11 秒。内存限制:512512 MiB。

题目描述

nn 个人从左到右站成一排,依次编号为 1,2,…,n1,2,\ldots,n。第 ii 个人的身高为 aia_i,序列 aa 是 1,2,…,n1,2,\ldots,n 的一个排列。

每个人都已经记下了自己左边有多少个人比自己矮。现在选择一个非空区间 [l,r][l,r],让编号为 l,l+1,…,rl,l+1,\ldots,r 的人离开,其余人的相对顺序保持不变。

如果留下来的每个人左边比自己矮的人数,都与离开前相同,就称这次选择合法。求有多少个合法的区间 [l,r][l,r]。

允许所有人都离开,此时这次选择也合法。

输入格式

第一行包含一个正整数 nn。

第二行包含 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n,表示每个人的身高。

输出格式

输出一行一个整数,表示合法区间的数量。

样例

样例 1

输入:

3
3 1 2

输出:

4

合法的删除区间为 [1,1][1,1]、[3,3][3,3]、[2,3][2,3] 和 [1,3][1,3]。

例如,若只让第 22 个人离开,第 33 个人左边比自己矮的人数会从 11 变成 00,因此这种选择不合法。

附加样例

样例 2 见 down/queue2.in\texttt{down/queue2.in} 与 down/queue2.ans\texttt{down/queue2.ans},满足测试点 5∼85\sim8 的限制。

样例 3 见 down/queue3.in\texttt{down/queue3.in} 与 down/queue3.ans\texttt{down/queue3.ans},满足测试点 9∼109\sim10 的限制。

样例 4 见 down/queue4.in\texttt{down/queue4.in} 与 down/queue4.ans\texttt{down/queue4.ans},满足测试点 11∼1211\sim12 的限制。

样例 5 见 down/queue5.in\texttt{down/queue5.in} 与 down/queue5.ans\texttt{down/queue5.ans},满足测试点 13∼2013\sim20 的限制。

数据范围

测试点编号 n≤n\le 特殊性质
1∼41\sim4 5050 无
5∼85\sim8 20002000
9∼109\sim10 2×1052\times10^5 AA
11∼1211\sim12 BB
13∼2013\sim20 无

对于所有测试点,1≤n≤2×1051\le n\le2\times10^5,1≤ai≤n1\le a_i\le n,且 a1,a2,…,ana_1,a_2,\ldots,a_n 两两不同。

特殊性质 AA:存在 1≤p≤n1\le p\le n,使得 a1<a2<⋯<apa_1<a_2<\cdots<a_p 且 ap>ap+1>⋯>ana_p>a_{p+1}>\cdots>a_n。

特殊性质 BB:存在 1≤p≤n1\le p\le n,使得 a1>a2>⋯>apa_1>a_2>\cdots>a_p 且 ap<ap+1<⋯<ana_p<a_{p+1}<\cdots<a_n。上述两种性质均允许 p=1p=1 或 p=np=n。

CSP-S公益营第一套

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-10-18 14:30
结束于
2026-10-18 18:45
持续时间
4.3 小时
主持人
参赛人数
141