1032. 挖掘机技术哪家强(20)
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
做这道题必须要“大方”一点,直接定义一个100001的数组对应学校的编号(我们必须考虑到最坏的情况,即每个人都来自不同的学校),而且这样也方便我们程序的构架。忽然想起来好像是在MOOC上听浙大的翁恺老师说过,我们其实能在程序数据输入的过程中解决很多问题,这题就是这样的,直接在数据输入的时候完成所有的任务,时间复杂度就为cn。下面是我的代码:
#include<stdio.h>
int main(void)
{
int n,a,b,max=0;
int m[100001]={0};
scanf("%d",&n);
for (;n>0;n--)
{
scanf("%d %d",&a,&b);
m[a]+=b;
if (m[a]>m[max]) max=a;
}
printf("%d %d\n",max,m[max]);
return 0;
}