【问题描述】 为了用事实说明挖掘机技术到底哪家强,组织一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 【输入形式】 输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号、及其比赛成绩(百分制),中间以空格分隔。 【输出形式】 在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。 【样例输入】 6 【样例输出】 2 150 【问题说明】 建议练习使用STL中的map | |
【my code】
#include <iostream>
using namespace std;
int main()
{
int n,i=0,j=0,k=0;
cin>>n;
int a[105][2];
for(i=0;i<n;i++){
for(j=0;j<2;j++){
cin>>a[i][j];
}
}
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i][0]==a[j][0]){
a[i][1]+=a[j][1];
a[j][0]=0;a[j][1]=0;
}
}
}
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i][1]<a[j][1]){
k=a[i][0];
a[i][0]=a[j][0];
a[j][0]=k;
k=a[i][1];
a[i][1]=a[j][1];
a[j][1]=k;
}
}
}
cout<<a[0][0]<<' '<<a[0][1]<<endl;
return 0;
}
using namespace std;
int main()
{
int n,i=0,j=0,k=0;
cin>>n;
int a[105][2];
for(i=0;i<n;i++){
for(j=0;j<2;j++){
cin>>a[i][j];
}
}
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i][0]==a[j][0]){
a[i][1]+=a[j][1];
a[j][0]=0;a[j][1]=0;
}
}
}
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i][1]<a[j][1]){
k=a[i][0];
a[i][0]=a[j][0];
a[j][0]=k;
k=a[i][1];
a[i][1]=a[j][1];
a[j][1]=k;
}
}
}
cout<<a[0][0]<<' '<<a[0][1]<<endl;
return 0;
}