PAT乙级1032: 挖掘机技术哪家强
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
注意:
题目难易程度从我写的代码就可以看出来并不难,只有短短20行左右,但在提交的时候总是最后一个结点过不了,找了好久,没发现错误,成功的拉低了这道题的通过率(罚自己学到今晚两点)。找了好久最发现我在定义数组的时候并没有初始化,当我初始化之后成功AC,但在我印象中C++里面int型的数组默认值全为0啊,难道我记错了???很快被事实打脸,C++中只有全局变量由系统来设置默认值,局部变量还得自己初始化。这就是基础不牢固的痛啊!看到题目是感觉3分钟搞定,结果因为最后一个结点,愣是搞了半小时。
AC代码:
#include<iostream>
using namespace std;
int main()
{
int n;
int max = 0;
cin >> n;
int arr[100010] = {0};
int no,mark;
while(n--)
{
cin >> no >> mark;
arr[no] += mark;
if(arr[no] > arr[max])
{
max = no;
}
}
cout<<max<<' '<<arr[max]<<endl;
return 0;
}