1 / 6
文档名称:

网易2016研发工程师编程题及答案 (二)(1).pdf

格式:pdf   大小:807KB   页数:6页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网易2016研发工程师编程题及答案 (二)(1).pdf

上传人:蒙查查 2021/5/11 文件大小:807 KB

下载得到文件列表

网易2016研发工程师编程题及答案 (二)(1).pdf

文档介绍

文档介绍:小 v 今年有 n 门课,每门都有考试,为了拿到奖学金,小 v 必须让自己的平均成绩至少为 avg。每门课由平时成绩和考试成绩组成,满分为 r。现在他知
道每门课的平时成绩为 ai ,若想让这门课的考试成绩多拿一分的话,小 v 要花 bi 的时间复****不复****的话当然就是 0 分。同时我们显然可以发现复****得再多
也不会拿到超过满分的分数。为了拿到奖学金,小 v 至少要花多少时间复****br/>1 /*(c/c++)
2 只需满足平均成绩大于等于 avg 即可,不管单科成绩。
3 所以先从花时间最少的课开始复****使其满分。
4 伪码:
5 if(当前成绩 >= avg*n)
6 cout << 0 << endl;
7 else{
8 sort(时间花费);
9 for(时间花费从小到大)
10 if 当前课程满分后不能获得奖学金
11 复****至满分,累加复****时间,然后复****下一门
12 else if 当前课程满分后能获得奖学金
13 所需时间 += (所需总分 - 当前分数)*在该课程上获得 1 分所需时间
14 输出时间;
15 退出循环。
16 }
17 */
18 #include <iostream>
19 #include <vector>
20 #include <algorithm>
21
22 using namespace std;
23
24 struct score_hour
25 {
26 int score;
27 int hour;
28 };
29
30 bool cmp(score_hour a, score_hour b)
31 {
32 return < ;
33 }
34
35 int main()
36 {
37 int n,r,avg;
38
39 while(cin >> n >> r >> avg){
40 vector<score_hour> v;
41 score_hour tmp;
42
43 while(n--){
44 cin >> >> ;
45 v.