题目链接:1032 挖掘机技术哪家强
测试点2是0的情况,所以初始时必须将max的值置为-1,不能置为0,否则运行错误
完整代码如下:
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct student{
int no;
int grade;
};
int main()
{
int N;
cin>>N;
student stu[N];
for(int i=0;i<N;i++)
{
cin>>stu[i].no>>stu[i].grade;
}
int tong[N+1];
memset(tong,0,sizeof(tong));
for(int i=0;i < N;i++)
{
tong[stu[i].no] += stu[i].grade;
}
int max = -1,k=-1;
for(int i=1;i <= N;i++)
{
if(tong[i] > max)
{
max = tong[i];
k = i;
}
}
cout<<k<<" "<<max;
}