PAT-B 1032. 挖掘機(jī)技術(shù)哪家強(qiáng)(20)

傳送門

https://pintia.cn/problem-sets/994805260223102976/problems/994805289432236032

題目

為了用事實(shí)說明挖掘機(jī)技術(shù)到底哪家強(qiáng),PAT組織了一場挖掘機(jī)技能大賽。現(xiàn)請你根據(jù)比賽結(jié)果統(tǒng)計(jì)出技術(shù)最強(qiáng)的那個(gè)學(xué)校。
輸入格式:
輸入在第1行給出不超過10^5的正整數(shù)N,即參賽人數(shù)。隨后N行,每行給出一位參賽者的信息和成績,包括其所代表的學(xué)校的編號(hào)(從1開始連續(xù)編號(hào))、及其比賽成績(百分制),中間以空格分隔。
輸出格式:
在一行中給出總得分最高的學(xué)校的編號(hào)、及其總分,中間以空格分隔。題目保證答案唯一,沒有并列。
輸入樣例:
6
3 65
2 80
1 100
2 70
3 40
3 0
輸出樣例:
2 150

分析

先聲明一個(gè)數(shù)組,然后讀入數(shù)據(jù),用學(xué)校編號(hào)作為下標(biāo),將學(xué)生成績加到對應(yīng)下標(biāo)學(xué)校的總分中去,每加一次,比較一次大小。
最后將最大總分學(xué)校的索引和最大總分輸出即可。

源代碼

//C/C++實(shí)現(xiàn)
#include <iostream>
#include <vector>

using namespace std;

int main(){
    int n;
    scanf("%d", &n);
    vector<int> v(n + 1);
    int max_index = -1, max_grade = 0;
    for(int i = 0; i < n; ++i){
        int index, grade;
        scanf("%d %d", &index, &grade);
        v[index] += grade;
        if(v[index] > max_grade){
            max_index = index;
            max_grade = v[index];
        }
    }
    printf("%d %d\n", max_index, max_grade);
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容