输入格式: 输入在第 1 行给出不超过10的五次方的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式: 在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
以下是AC代码
#include <stdio.h>
int main(int argc, char *argv[]) {
int school[100010] = {0}; //初始化每个学校的分数
int n,schID,score,i; //学校数,学校编号,分数,循环变量
int k=-1,Max=-1; //分数最高的学校数和这个学校的分数
scanf("%d",&n);
for(i=0;i<n;i++){ //输入
scanf("%d%d",&schID,&score);
school[schID]+=score;
}
for(i=1;i<=n;i++){ //比较
if(school[i]>Max){
Max=school[i];
k=i;
}
}
printf("%d %d\n",k,Max); //输出
return 0;
}
没什么难度,没有总结以及注意
加油,刷pat的小伙伴们!