为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
分析: 将编号相同的分数加起来,输出最大的即可
1 //c++ 2 #include<iostream> 3 using namespace std; 4 5 int main(){ 6 int n,arr[100000]={0}; 7 cin>>n; 8 int a,b; 9 while(n--){ 10 cin>>a>>b; 11 arr[a]+=b; 12 } 13 int res=0,res_index=0; 14 for(int i=0;i<100000;i++){ 15 if(arr[i]>res){ 16 res=arr[i]; 17 res_index=i; 18 } 19 } 20 cout<<res_index<<‘ ‘<<res; 21 return 0; 22 }
将多余步骤进一步优化
1 #include<iostream> 2 using namespace std; 3 4 int main(){ 5 int n,arr[100010]={0}; 6 int a,b,res=0,res_index=0; 7 cin>>n; 8 while(n--){ 9 cin>>a>>b; 10 arr[a]+=b; 11 if(arr[a]>res){ 12 res=arr[a]; 13 res_index=a; 14 } 15 } 16 cout<<res_index<<‘ ‘<<res; 17 return 0; 18 }
原文地址:https://www.cnblogs.com/tenjl-exv/p/9813358.html
时间: 2024-10-10 09:44:45