#include <stdio.h>
int main(){
int num,i,max,s[10001]={0},score,school;
scanf("%d",&num);
for(i=0;i<num;i++){
scanf("%d %d",&school,&score);
s[school]=s[school]+score;
}
max=s[1];
school=1;
for(i=2;i<num;i++){
if(s[i]>max){
max=s[i];
school=i;
}
}
printf("%d %d",school,max);
return 0;
}
总结:
1、题目不难,思路是输入的学校号作为学校数组的下标,然后循环找出最大值,输出下表(要保存)和总分。
2、注意数组的大小,题目要求10^5。