AlgoMooc
← 返回题库

P2527. 结队编程

中等通过率 52% · 提交 139 · 通过 72
枚举数学前缀和模拟

小慕所在的项目组计划通过来推进开发工作。已知组内有 N 名成员,每个人拥有独一无二的,每三人组成一个小组进行结队编程。 结队分组规则如下: 从组中选出序号分别为 i、j、k 的三名成员,他们的职级分别为 level[i]、level[j]、level[k]。 结队小组需满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],其中 0 ⩽ i < j < k < n。请你按上述条件计算可能组成的小组数量。 同一名成员可以参加多个小组。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行输入:员工总数 n 第二行输入:按序号依次排列的员工的职级 level,中间用空格隔开 限制: 1 ⩽ n ⩽ 6000 1 ⩽ level[i] ⩽ 10^5

输出描述

可能组合的小组数量

示例

示例 1

输入

4
1 2 3 4

输出

4

说明:可能结队成的组合 (1,2,3)、(1,2,4)、(1,3,4)、(2,3,4)。

示例 2

输入

3
5 4 7

输出

0

说明:根据结队条件,我们无法为该部门组建小组

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「结队编程」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。