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