输入格式:
输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
代码如下:
#include<stdio.h>
int main(){
int N,schoolID,score;
int i,k,max;
int arr[100000]={0};
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%d %d",&schoolID,&score);
arr[schoolID-1]+=score;
}
//下边就是如何求一个数组中的最大值,最开始的时候我是先将数组排序,但是那样很消耗时间和空间
max=0;
for(i=0;i<N;i++){
if(max<arr[i]){
max=arr[i];
k=i+1;
}
}
printf("%d %d",k,max);
return 0;
}