1. 程式人生 > >PAT_B_1032 挖掘機技術哪家強 (20 分)【最後一個測試點超時】

PAT_B_1032 挖掘機技術哪家強 (20 分)【最後一個測試點超時】

為了用事實說明挖掘機技術到底哪家強,PAT 組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。

輸入格式:

輸入在第 1 行給出不超過 10​5​​ 的正整數 N,即參賽人數。隨後 N 行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號(從 1 開始連續編號)、及其比賽成績(百分制),中間以空格分隔。

輸出格式:

在一行中給出總得分最高的學校的編號、及其總分,中間以空格分隔。題目保證答案唯一,沒有並列。

輸入樣例:

6
3 65
2 80
1 100
2 70
3 40
3 0

輸出樣例:

2 150

 

#include <stdio.h>
using namespace std;
int main()
{
    int N;
    scanf("%d",&N);
    int num[200010];     //該測試點超時的原因 應該本題應以空間換時間,必須建立大的陣列       
    int j=0;            //空間,之前建立的大小是num[100010],結果報錯,擴到200010才正確
    int score,identifier;
    int maxi=0,maxscore=0;
    while(N--)
    {
        int flag=1;
        scanf("%d %d",&identifier,&score);
        num[identifier]+=score;
        if(num[identifier]>maxscore)
        {
            maxscore=num[identifier];
            maxi=identifier;
        }
    }
    printf("%d %d",maxi,num[maxi]);
    return 0;
}