PAT乙级真题 | 1032 挖掘机技术哪家强
1032 挖掘机技术哪家强
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第 1 行给出不超过 1 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6 3 65 2 80 1 100 2 70 3 40 3 0
输出样例:
2 150
作者: CHEN, Yue单位: 浙江大学时间限制: 200 ms内存限制: 64 MB代码长度限制: 16 KB
思路:1、开一个大数组记录分数
2、找最大值
代码实现:
1 #include <stdio.h> 2 3 long int count[100005] = { 0 }; 4 5 int main(void) 6 { 7 int schoolNum, score; //接收学校编号,分数 8 long int N; 9 long int maxScore = 0; //最高分 10 int maxIndex; //最高分对应下标 11 int i; 12 13 scanf("%ld", &N); 14 for (i = 0; i < N; i++) 15 { 16 scanf("%d %d", &schoolNum, &score); 17 count[schoolNum-1] += score; //count[]数组的下标与实际学校编号差1 18 } 19 20 maxScore = count[0]; 21 maxIndex = 0; 22 23 //找最大值,并记录下标 24 for (i = 0; i < N; i++) 25 { 26 if (count[i] > maxScore) 27 { 28 maxScore = count[i]; 29 maxIndex = i; 30 } 31 } 32 33 //输出s 34 printf("%d %ld", maxIndex + 1, maxScore); 35 36 return 0; 37 }