#include<stdio.h>
const int maxn = 100000; //一般来说固定数字用字母代替好?
int school[maxn] = {0}; //先初始化为0,方便之后比较大小,以后都先初始化,但是为什么这个数组要放在最前面?
//tips:在C中不能用const来定义数组的长度,因为数组长度不能是变量,只读变量也是变量,但在C++中可以
int main (){
int n, schID, score; //之后要输入的变量可以不初始化吧?
scanf("%d", &n);
for (int i = 0; i < n;i++){
scanf("%d%d", &schID, &score); //学校ID,分数
school[schID] += score; //学校ID编号相同的分数相加,这一步很关键,不要认为数组就该从0下标开始储存
}
int k = 1, MAX = -1; //我令MAX=0行得通不?行的通
for (int i = 1; i <= n;i++){
if(MAX<school[i]){ //因为之前数组已经初始化,这里不用担心没有输入的地方被随意赋值
MAX = school[i];
k = i;
}
}
printf("%d %d\n", k, MAX);
return 0;
}
//整个题目的关键在于怎样利用学校的编号来进行输入,比较
1032 挖掘机技术哪家强
最新推荐文章于 2021-04-19 19:47:09 发布