题目网址:
思路:
- 建立一个数组school[100010],用来存放各个学校的总分,通过school[id] += score,实现;
 - 用max,k来记录最高分和最高分学校的额编号;
 
题解:
#include<stdio.h>
int main(){
    const int maxn = 100010;
    int n,id,score;
    int school[maxn] = {0}; 
    int max=-1,k=1;        //max用来记录最高分,k记录最高分的学校编号 
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d %d",&id,&score);
        school[id] += score;
    }
    for(int i=1;i<=n;i++){
        if(school[i]>max){
            max = school[i];
            k = i;
        }
    }
    printf("%d %d",k,max);
    return 0;
}
京公网安备 11010502036488号