在迷人的 APIO 国,居住一位着年轻智慧的学生 Alice。Alice 对解决能挑战她数学能力的有趣问题有着永不满足的好奇心。一天,她在解决一个神秘的有关长为
现在,她想要与你分享一些她的发现。不过,为了更好的理解,我们需要给出以下定义:
- 定义
为 , 即 在 中的出现次数。 - 定义一个非空整数序列
的中位数集合为 , 然后 Alice 会展示如何分步计算中位数集合:
首先,将序列
然后,
为了能更好的理解
. .
作为一道具有挑战性的问题, Alice 想对于所有的
实现细节
你需要实现如下的过程:
int sequence(int N, std:: vector<int> A);
:序列 的长度。 : 一个长度为 的数组,即输入中提到的序列 。- 该函数应返回一个整数,代表所有可行
价值的最大值。 - 这个函数恰好被调用一次。
评测程序示例读取如下格式的输入:
第
第
评测程序示例按照如下的格式打印你的答案:
第 sequence
的返回值。
样例 1
input
7 1 2 3 1 2 1 3
output
3
样例 2
input
9 1 1 2 3 4 3 2 1 1
output
2
样例 3
input
14 2 6 2 5 3 4 2 1 4 3 5 6 3 2
output
3
提示
例子
样例 1
考虑如下的调用:
sequence(7,{1,2,3,1,2,1,3});
函数应返回
在这个样例中,
容易验证
样例 2
考虑如下的调用:
sequence(9,{1,1,2,3,4,3,2,1,1});
函数应返回
样例 3
考虑如下的调用:
sequence(14,{2,6,2,5,3,4,2,1,4,3,5,6,3,2});
函数应返回
约束条件
子任务
- (11 分):
。 - (17 分):
。 - (7 分):存在一个
满足 且 。 - (12 分):
。 - (13 分):
(对于所有满足 的 )。 - (22 分):
。 - (18 分):没有额外限制。