中位数(2019NH教师C++小学组)

题目描述

先科普一下“中位数”的概念。 

一个序列被从小到大排序后,排名在中间的那个数就是这个序列的“中位数”。例如,{10,40,30}的中位数是30。

如果序列的长度是偶数,我们会说两个中间元素中较小的一个是中位数。例如,{10,40,30,20}的中位数是20。

有F头奶牛(编号1至F)在参加高考,有M个科目(编号1至M)要考,第i头奶牛的第j个科目的成绩是score[i][j]。

显然,总共有F*M个成绩,我们的目标是使得:这F*M个成绩的中位数是goal。

为了完成这个目标,允许奶牛作弊,现在需要完成如下的任务:

(1)确定一个最小的整数X,其中X表示必须作弊的奶牛的数量。只要修改了某头奶牛的成绩,那么该头奶牛就是作弊。

(2)在确定了最小X的前提下,还要确定一个最小的Y,其中Y表示总共需要修改多少个成绩。

输入格式

第一行,3个整数:F,M,goal。1 <= F,   1 <= M ,  F * M <= 1000。  0<=goal <= 99。

接下来有F行M列的二维数组,其中第i行第j列的整数是 score[i][j]。0<=score[i][j]<=99。

输出格式

一行,两个整数, X和Y。

输入/输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值