题目描述 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式: 输入在第 1 行给出不超过 10^5 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式: 在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6 3 65 2 80 1 100 2 70 3 40 3 0输出样例:
2 150做这个题的时候遇到了一个大坑,我输入参赛者信息是使用的是while(n- -),这样是不对的,n减到最后为0,但是后面还会用到n,所以不行
while(n--){ cin >> a >> b; num[a]+=b; } #include <iostream> using namespace std; int main(){ int n, a, b; cin >> n; int num[n+1]={0}; for(int i=0; i<n; i++){ cin >> a >> b; num[a]+=b; } int max=0, maxn; for(int i=1; i<n+1; i++){ if(max<num[i]){ max = num[i]; maxn = i; } } cout << maxn << " " << max; }