题解 | #奖学金#

奖学金

http://www.nowcoder.com/practice/cee98a512ec246a2918ea8121f7612c8

 
if __name__ == '__main__':
    while True:
        nravg = sys.stdin.readline().strip()
        if not nravg:
            break
        n,r,avg = [int(i) for i in nravg.split(' ')]
        nums = []
        alls = n*avg
        used =0
        for i in range(n):
            tp = [int(i) for i in sys.stdin.readline().strip().split(' ')]
            nums.append(tp)
#             print(nums)
            used += tp[0]
#             print(used)
        alls -= used
        need =  0
        nums.sort(key = lambda p:p[1])
#         print(nums)
        if alls>0:
            for i in range(n):
                curNeed = min(alls,r-nums[i][0])
                alls-=curNeed
                need+= curNeed* nums[i][1]
                if alls == 0:
                    break
        print(need)
    else:
        print(0)

            
            
            
        
        
        
全部评论

相关推荐

12-08 15:35
浙江大学 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务