已开始打算用vector,后来发现不用输出各个得分,大可不必
就用了hash,但是测试点四为什么错呢
发现将数组m[10000]改成m[10001]就对了,因为定义的10001表示数组元素个数,而数组是从0开始编号,学校从1开始编号,0号位置空着,所以需要10001个空间。
#include<iostream>
using namespace std;
int main()
{
int n,temp,x,m[100001]={0},max=-999,id=1;
cin>>n;
while(n--)
{
cin>>temp>>x;
m[temp]=m[temp]+x;
if(m[temp]>max)
{
max=m[temp];
id=temp;
}
}
cout<<id<<" "<<max<<endl;
return 0;
}