#include<bits/stdc++.h>
using namespace std;
const int n = 1e5+10;
int sum[n]={
0};//初始化数组,防止误差
int main(){
int num;
scanf("%d",&num);
int id;//学校编号
int score;//分数
for(int i = 0; i < num; i++){
scanf("%d%d",&id,&score);
sum[id]+=score;//每个学校的总分
}
int max_sum=0;
int max_id=0;//学校最大id
for(int i = 1; i <= num; i++){
//id从1开始计,到num
if(sum[i]>max_sum){
max_sum=sum[i];
max_id=i;
}
}
printf("%d %d",max_id,max_sum);
return 0;
}
注意:
注意选取最大值时,循环应从1开始,因为id编号是从1开始。如果从0开始循环,sum[0]系统自动赋予一个特别大的数,则就会错误成这个数是最大,最大队伍就是id=0。这是不对的。