题目网址:
思路:
- 建立一个数组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号