本题要求我们统计一个整数序列 a 中所有“中心平衡”区间的个数。给定长度为 n 的序列,对一个奇数长度的连续子区间 [l, r],定义其正中位置 m = (l+r)/2。如果该区间内大于 a_m 的元素个数恰好等于小于 a_m 的元素个数,则称该区间为“中心平衡”区间。题目要求计算满足条件的区间总数。
对于一个长度为奇数的子区间,设其正中位置为 m。中心平衡的条件是:区间内比 a_m 大的数字个数等于比 a_m 小的数字个数。显然,长度为 1 的区间总是中心平衡的。
给定一个长度为 n 的整数序列 a1,a2,…,an,其中的元素两两不同。我们考虑所有长度为奇数的连续子区间 [l,r],并记区间正中位置为 m=2l+r。如果在这个子区间内,大于 am 的元素个数恰好等于小于 am 的元素个数,则称该区间是「中心平衡」的。
请你计算整个序列中,共有多少个奇数长度的连续子区间是中心平衡的。
约束条件:
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.