首页 > 试题广场 >

小红的最大中位数

[编程题]小红的最大中位数
  • 热度指数:444 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红拿到了一个数组,她准备选择一个子序列,使得该子序列的中位数尽可能大。小红想知道,一共有多少种方案?
奇数长度的子序列中位数为中间的那个数,偶数长度的子序列中位数为中间两个数的平均数。

输入描述:
第一行输入一个正整数n,代表数组大小、待选择的子序列长度。
第二行输入n个正整数a_i。代表小红拿到的数组。
1\leq n \leq 10^5
1\leq a_i \leq 10^9


输出描述:
一个整数,代表选择的方案数。由于答案可能过大,请对10^9+7取模。
示例1

输入

3
1 2 2

输出

4

说明

最大中位数为 2。
选一个 2 有两种方案,选两个 2 有一种方案,选三个数有一种方案。
头像 牛客126208132号
发表于 2025-03-08 01:30:36
选的最大值个数比其他数至少多一个即可 #include <bits/stdc++.h> #define ll long long using namespace std; const int N = 1e5 + 10, mod = 1e9 + 7; int n, maxx; uno 展开全文
头像 Silencer76
发表于 2025-03-28 15:20:26
题目链接 小红的最大中位数 题目描述 小红拿到了一个数组,她准备选择一个子序列,使得该子序列的中位数尽可能大。小红想知道,一共有多少种方案? 奇数长度的子序列中位数为中间的那个数 偶数长度的子序列中位数为中间两个数的平均数 输入: 第一行输入一个正整数 ,代表数组大小 第二行输入 个正整数, 展开全文