2018 科大讯飞笔试题

题目

     华老师的n个学生参加了一次模拟测试,考出来的分数很糟糕,但是华老师可以将分数改为[0,100]的任意值,所以他想知道,如果要使所有人的成绩平均分不少于X分,至少要改动多少人的分数。

输入:

第一行一个书T,共T组数据

接下来对于每组数据:

第一行两个整数n和X。(1<=n<=1000,0<=X<=100)

第二行n个整数,第i个数Ai表示第i个学生的成绩(0<=Ai<=100)

输出:

共T行,每行一个整数,代表最少的人数。

样例输入
2
5 60
59 20 30 90 100
5 60
59 20 10 10 100

样例输出
1
2

分析思路: 

对于第一行数据,将它作为两组数据的个数,在输入的时候作为外循环使用,然后将第二/四行的第一个整数作为一个数组的长度n,第二个整数即为平均数avg,那么sum1=n*avg;再将数组中的每个数相加sum2=array[0]+array[1]+...array[4],利用difference=sum1-sum2,再将数组中的元素和100求差,排序,difference从新数组的最后一个元素进行比较,如果大于一个元素,需要改动次数就+1,同时difference就减去新数组的元素。

代码实现:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值