题目

时间限制
200 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第1行给出不超过10 <nobr aria&#45;hidden="true"> 5 </nobr> <math xmlns="http&#58;&#47;&#47;www&#46;w3&#46;org&#47;1998&#47;Math&#47;MathML"> <msup> <mn> 5 </mn> </msup> </math>的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:

6
3 65
2 80
1 100
2 70
3 40
3 0

输出样例:

2 150

分析:

由于参赛人数最多不超过100000人且学校编号连续,可以考虑桶排序,即设立一个标记数组,用学校编号作为数组下标,用数组值作为学校总分数。

代码(cpp)

#include<iostream>
using namespace std;
int main(){
    int n,max=0;
    int a[100000+5]={0};
    cin>>n;
    while(n--){
        int t,score;
        cin>>t>>score;
        a[t]+=score;
        if(a[max] < a[t])
            max = t;
    }
    cout<<max<<" "<<a[max];
    return 0;
}