Advertisement

小v用C++获得了奖学金

阅读量:

问题描述

小v今年需修读n门课程(编号为0至n-1),每门课程均设有考试。为了获得奖学金,小v必须确保所有课程的平均成绩不低于avg。每门课程的最终成绩由平时成绩与考试成绩相加得出,总分为r。现已知每门课程当前的平均成绩为ai(0≤i≤n-1),若希望将该课程的成绩提高一分,小v需要投入bi的时间进行复习;若不进行复习,则无需花费时间。此外,也有可能出现即使增加复习时间,成绩也无法超过满分的情况。为了达到奖学金的要求,小v最少需要投入多少时间?

输入描述

每个测试用例的首行输入为一个整数n(1≤n≤200),用于表示课程的数量。随后的n行中,每行包含两个整数,分别对应某一门课程的平均成绩ai与bi。在所有数据输入完毕后,还需输入两个数值,即满分r和期望达到的平均成绩avg。当输入的n值等于0时,表示整个输入过程结束。

输出描述

对于每一个测试用例,均需输出一行数据,用以体现小v所需消耗的最短复习时长。

输入样例解析

4
80 5
70 2
90 3
60 1
100 92.5
0

输出样例

100

算法思路

这道题目的解题思路较为直接,由于各科分数提升所需时间存在差异,因此应优先将提升速度较快的科目提升至满分,随后再着手处理次之的科目。当所有科目的平均分达到预设目标时,即可停止操作。其

全部评论 (0)

还没有任何评论哟~