问题描述
找出得分最高的团队,并输出团队编号以及得分。
题目分析
我们可以在输入的过程中就完成比较。
先声明一个数组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√