PAT乙级—1047. 编程团体赛(20)-native

编程团体赛的规则为:每一个参赛队由若干队员组成;全部队员独立比赛;参赛队的成绩为全部队员的成绩和;成绩最高的队获胜。ios

现给定全部队员的比赛成绩,请你编写程序找出冠军队。web

输入格式:编程

输入第一行给出一个正整数N(<=10000),即全部参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:“队伍编号-队员编号 成绩”,其中“队伍编号”为1到1000的正整数,“队员编号”为1到10的正整数,“成绩”为0到100的整数。数组

输出格式:svg

在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注意:题目保证冠军队是惟一的。ui

输入样例:
6
3-10 99
11-5 87
102-1 0
102-3 100
11-9 89
3-2 61
输出样例:
11 176spa

思路:其实就是对队伍相同的人员的成绩叠加起来,不用管队员编号,用一个数组保存而后一个for循环输出数组最大值以及最大值的下标。code

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int N;
    cin>>N;
    int a,b,c;
    int max=0,temp=0;
    int score[1005]={0};
    for(int i=0;i<N;i++){
        scanf("%d-%d %d",&a,&b,&c);
        score[a]+=c;//同一个队伍成绩不断叠加
        if(score[a]>max){//每一次找出最大值
            max=score[a];
            temp=a;
        }
    }
    printf("%d %d",temp,max);
    return 0;
}

题目连接:xml

https://www.patest.cn/contests/pat-b-practise/1047ci