TB椰程 TypeBuddy 打字搭子

最厉害的学生

洛谷·深入浅出 · 代码 · cpp · 难度 2/5 · 共 774 字

按总分最高输出最厉害学生信息

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1435
// 题意:N 名学生(姓名、语数英),输出总分最高者的姓名和三科成绩;并列取靠前的。
// 思路:边读边维护当前最大总分及对应姓名与三科成绩,最后输出。
// 复杂度:O(N)。
// 易错点:比较的是三科总分;并列时保留先出现的(用 > 而非 >= 即可);要连同成绩一起打印。
#include <iostream>
#include <string>
using namespace std;
int main(){
    int N;
    cin >> N;
    string best_name;
    int best_yu, best_ma, best_en, best_sum = -1;
    for(int i = 0; i < N; i++){
        string name;
        int yu, ma, en;
        cin >> name >> yu >> ma >> en;
        int sum = yu + ma + en;
        if(sum > best_sum){
            best_sum = sum;
            best_name = name;
            best_yu = yu;
            best_ma = ma;
            best_en = en;
        }
    }
    cout << best_name << " " << best_yu << " " << best_ma << " " << best_en << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK