PAT B1032 挖掘机技术哪家强

PAT B1032 挖掘机技术哪家强

#include<stdio.h>
#define MAXN 100010//没有0号,遍历枚举最大值时需要注意 
//我一开始这里写的是#define maxn 100010,就报错,看来只有大写MAXN才行 
//书上的写法是 const int maxn=100010;
//#define LOCAL
int a[MAXN]={0};//是可以定义的同时赋值的  
int main(){
	#ifdef LOCAL
	freopen("B1032data.in","r",stdin);
	freopen("B1032data.out","w",stdout);
	#endif 
	int n=0,tempn=0,tempa=0,max,maxn;
	scanf("%d",&n);
	while(n--){
		scanf("%d%d",&tempn,&tempa);
		a[tempn]+=tempa;//因为学校号是从1开始连续编号的,所以肯定不会超过10000个,只能这样理解了 
	}
	max=a[1];
	maxn=1;//假设第一个学校是得分最大的 
	for(int i=1;i<100001;i++){
		if(a[i]>max)
			{
				max=a[i];
			    maxn=i; //注意这里一定要加花括号,是在一个if钟赋值的,一开始错误就出在这里,后来才ac了 
			}
	}
	printf("%d %d",maxn,max); 
}


你可能感兴趣的:(C++,算法,pat)