爲了用事實說明挖掘機技術到底哪家強,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;
}