D


私信TA

用户名:ALS1111

访问量:22109

签 名:

等  级
排  名 55
经  验 11377
参赛次数 0
文章发表 132
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

这道题的思路并不难,就是一个超时的问题,暂时还不知道该怎么处理。

在分配考场的时候,假如说选中了m个人去考试,分为k个考场,那么我们将这m个人的成绩进行排序,选取成绩最好的(k-1)个人,每人单独分配到一个考场(也就是说一个考场只有一个人),将剩下的m-(k-1)个人分配到最后一个考场。计算每个考场的平均分,然后将各个考场的平均分求和除以k就能得到结果了。


注意事项:


参考代码:

n = int(input().strip())  
stu = [0]  
stu = stu + [int(i) for i in input().strip().split()]  
  
time = int(input().strip())  
for t in range(time):  
    temp = [int(it) for it in input().strip().split()]  
    if temp[0] == 2:  
        l = temp[1]  
        r = temp[2]  
        k = temp[3]  
        cho = stu[l:r+1]  
        cho.sort()  
        class1 = (r-l+1)-(k-1)  
      
        ave = sum(cho[:class1])/class1  
        ave = ave + sum(cho[class1:])  
        ave_ave = ave / k  
        print('%.3f' % ave_ave)  
    elif temp[0] == 1:  
        stu[temp[1]] = temp[2]


 

0.0分

0 人评分

  评论区

  • «
  • »