A833.Cow Frisbee--Silver

普及/提高-

USACO

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Farmer John 的 N (N3×105)N\ (N\le 3\times 10^5) 头奶牛的高度为 1,2,,N1, 2, \ldots, N。一天,奶牛以某个顺序排成一行玩飞盘;令 h1hNh_1 \ldots h_N 表示此顺序下奶牛们的高度(因此 hh1N1 \ldots N 的一个排列)。

队伍中位于位置 iijj 的两头奶牛可以成功地来回扔飞盘当且仅当她们之间的每头奶牛的高度都低于 min(hi,hj)\min(h_i, h_j)

请计算所有可以成功地来回扔飞盘的奶牛所在的位置对 i<ji<j 之间的距离总和。位置 iijj 之间的距离为 ji+1j-i+1

输入格式

输入的第一行包含一个整数 NN。第二行包含 h1hNh_1 \ldots h_N,用空格分隔。

输出格式

输出可以成功地来回扔飞盘的奶牛所在的位置对 i<ji<j 之间的距离总和。注意这个问题涉及到的整数可能需要使用 64 位整数型(例如,C 或 C++ 中的 "long long")。

输入输出样例

  • 输入#1

    7
    4 3 1 2 5 6 7
    

    输出#1

    24
    

说明/提示

样例解释

这个例子中可以成功的位置对如下:

(1, 2), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (4, 5), (5, 6), (6, 7)
首页