题目链接:请点击
思路:用vector定义一个整型数组v,用数组下标表示学校编号,数组内存放其总成绩。在输入每一个记录同时,登记每一所学校当前所获得的总成绩,然后,用maxgrade与当前该学校的总成绩进行比较,若小于当前该学校的总成绩,则更新maxgrade与maxnum的值,最后输出即可
AC 代码:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n,maxnum=0,maxgrade=0;
cin>>n;
vector<int> v(n);
while(n--)
{
int num,grade;
cin>>num>>grade;
v[num]=v[num]+grade;
if(maxgrade<v[num])
{
maxnum=num;
maxgrade=v[num];
}
}
cout<<maxnum<<" "<<maxgrade<<endl;
return 0;
}