题目
输入样例:
6
3-10 99
11-5 87
102-1 0
102-3 100
11-9 89
3-2 61
输出样例:
11 176
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
解题思路
每个成员由队伍编号,队员编号,成绩组成,将所有成员的成绩输入的同时利用su[i]保存队伍编号为i的所有成员的分数,然后遍历数组su[N],找出score最大的队伍并输出编号
代码
#include <stdio.h>
#define N 1001
struct mem{
int num;
int id;
int score;
};
int main()
{
int su[N]={0},max_score=0,max_i;
char c;
int n;
scanf("%d",&n);
struct mem me[n];
for(int i=0;i<n;i++)
{
scanf("%d%c%d%d",&me[i].id,&c,&me[i].num,&me[i].score);
su[me[i].id]+=me[i].score;
}
for(int i=0;i<n;i++)
{
if(su[me[i].id]>max_score)
{
max_i=me[i].id;
max_score=su[me[i].id];
}
}
printf("%d %d",max_i,max_score);
}