slgqhcsdn 2022-02-14 22:52 采纳率: 76.9%
浏览 40
已结题

一道c++题(多校联考)

多校联考
【试题描述】
现在有N个学校在进行多校联考,每个学校有若干个学校在参加联考,教练们非常重视尖子生培养,他们只关心每个学校前三名的成绩,现在给出N个学校联考的成绩,想让大佬您帮忙找出哪个学校前三名总分和最高,如果有相同的,输出序号靠前的:

【输入格式】
第一行输入一个数N,表示有N个学校;
接下来有N行,每行若干个用空格隔开的正整数,表示学生成绩,每行以0结尾:

【输出格式】
输出包含一行,共两个数,分别表示前三名总分最高的分数和及学校序号:

【样例输入1】
3
280 280 220 0
280 120 260 0
300 300 180 0

【样例输出1】
780 1

【样例输入2】
3
250 190 300 200 180 0
300 120 260 180 280 0
300 300 180 100 0

【样例输出2】
840 2

【数据范围】
对于20%的数:1<N<=3,每行不包括行末的0为3个数,如:3003002000:
对于100%的数:1<N<=5,每行不超过500个数,每个数小于等于300:

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-02-15 00:41
    关注

    这道题没必要排序

    #include <iostream>
    
    using namespace std;
    
    int top3_total()
    {
        int score, first = 0, second = 0, third = 0;
        while (cin >> score)
        {
            if (score == 0)
                break;
            if (score > first)
            {
                third = second;
                second = first;
                first = score;
            }
            else if (score > second)
            {
                third = second;
                second = score;
            }
            else if (score > third)
            {
                third = score;
            }
        }
        return first + second + third;
    }
    
    int main()
    {
        int n;
        cin >> n;
        int max = 0, j;
        for (int i = 1; i <= n; i++)
        {
            int top = top3_total();
            if (top > max)
            {
                max = top;
                j = i;
            }
        }
        cout << max << ' ' << j;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月14日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b