1.4 KiB
1.4 KiB
中位数
题目背景
1.5s, 512MB
定义一个序列 A[0,1,...,N-1]
的中位数为将 A
升序排序之后的中间元素 $A'[N/2]$;如果 N
为偶数,则序列可以有 2
个中位数。
定义 f(A)
为序列 A
的中位数在序列中的出现次数,如果序列有 2
个不同中位数,则为它们出现次数的较大值。
题目描述
现在给定序列 $A[0,1,...,N-1]$,请你计算其所有子段 f
值的最大值:
max_{0\le l \le r< N}\{ f(A[l...r])\}
输入格式
第 1
行: N
第 2
行: A[0] A[1] \cdots A[N-1]
输出格式
输出1行1个整数代表答案
样例 #1
样例输入 #1
7
1 2 3 1 2 1 3
样例输出 #1
3
样例 #2
样例输入 #2
9
1 1 2 3 4 3 2 1 1
样例输出 #2
2
样例 #3
样例输入 #3
14
2 6 2 5 3 4 2 1 4 3 5 6 3 2
样例输出 #3
3
提示
约束条件
1 \leq N \leq 5 \times 10^{5}
1 \leq A[i] \leq N
子任务
- (11 分):
N \leq 100
。 - (17 分):
N \le 2 \times 10^{3}
。 - (7 分):存在一个
x
满足\forall 0 \leq i<x, A[i] \leq A[i+1]
且\forall x<i<N, A[i] \leq A[i-1]
。 - (12 分):
A[i] \leq 3
。 - (13 分):序列中所有数出现最多不超过
2
次。 - (22 分):
N \leq 8 \times 10^{4}
。 - (18 分):没有额外限制。