思路很简单,就不说了。直接放代码,测试点4,5第一次没通过,太想当然了,边界条件没考虑好,直接放代码。
#include<bits/stdc++.h>
using namespace std;
int main(){
int N;
int arr[100010]={0};
scanf("%d",&N);
int num,grade,max=1;//这里max 值初始化为1,不然测试点过不了;
for(int i=0;i<N;i++){
scanf("%d %d",&num,&grade);
arr[num]+=grade;
}
for(int i=1;i<N;i++){//这里循环到N就行了,不然测试点5过不去。
if (arr[i]>arr[max])max=i;
}
printf("%d %d",max,arr[max]);
return 0;
}