PTA刷题Basic篇——1047.编程团体赛——Day(24)

问题描述

在这里插入图片描述找出得分最高的团队,并输出团队编号以及得分。

题目分析

我们可以在输入的过程中就完成比较。
先声明一个数组a,长度为100010(否则会发生段错误)。然后我们每次把团队编号team作为索引,将得分作为值放入数组中。每次输入统计更新一个当前最大值max,如果a[team] > max,就更新max并且更新此时的最大团队编号。
最后将二者输出即可。

代码

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int number;
    scanf("%d",&number);
    int a[100010] = {0};
    int team,mate,score,max = 0,id;
    for(int i = 0;i < number;i++)
    {
        scanf("%d-%d %d",&team,&mate,&score);
        a[team] += score;
        if(a[team] > max)
        {
            max = a[team];
            id = team;
        }
    }
    printf("%d %d",id,max);
    return 0;
}

答题用时6min
Q47——finish√

原创文章 101 获赞 13 访问量 2318

猜你喜欢

转载自blog.csdn.net/weixin_44755413/article/details/105877093