A867 | Cow Frisbee--Silver
来源USACO / 2022
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Farmer John 的 $N\ (N\le 3\times 10^5)$ 头奶牛的高度为 $1, 2, \ldots, N$。一天,奶牛以某个顺序排成一行玩飞盘;令 $h_1 \ldots h_N$ 表示此顺序下奶牛们的高度(因此 $h$ 是 $1 \ldots N$ 的一个排列)。
队伍中位于位置 $i$ 和 $j$ 的两头奶牛可以成功地来回扔飞盘当且仅当她们之间的每头奶牛的高度都低于 $\min(h_i, h_j)$。
请计算所有可以成功地来回扔飞盘的奶牛所在的位置对 $ij$ 之间的距离总和。位置 $i$ 和 $j$ 之间的距离为 $j-i+1$。
队伍中位于位置 $i$ 和 $j$ 的两头奶牛可以成功地来回扔飞盘当且仅当她们之间的每头奶牛的高度都低于 $\min(h_i, h_j)$。
请计算所有可以成功地来回扔飞盘的奶牛所在的位置对 $ij$ 之间的距离总和。位置 $i$ 和 $j$ 之间的距离为 $j-i+1$。
输入格式
输入的第一行包含一个整数 $N$。第二行包含 $h_1 \ldots h_N$,用空格分隔。
输出格式
输出可以成功地来回扔飞盘的奶牛所在的位置对 $ij$ 之间的距离总和。注意这个问题涉及到的整数可能需要使用 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)
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?