1032 挖掘机技术哪家强

输入格式:

输入在第 1 行给出不超过 10 ^5 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。

输出格式:

在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

输入样例:

6
3 65
2 80
1 100
2 70
3 40
3 0

输出样例:

2 150

solution1

#include <stdio.h>
int main(){
	int n, name, score, max, maxp;
	scanf("%d", &n);
	int s[n+1];
	for(int i = 1; i <= n; i++)
		s[i] = 0;
	for(int i = 1; i <= n; i++){
		scanf("%d %d", &name, &score);
		s[name] += score;
	}
	
	max = s[1];
	maxp = 1;
	for(int i = 2; i <= n; i++)
		if(s[i] > max){
			max = s[i];
			maxp = i;
		}
	printf("%d %d", maxp, max);
	return 0;
}

solution2

#include <stdio.h>
int main(){
	int n, a[100000] = {0}, score, max = -1, maxp, sub;
	scanf("%d", &n);
	for(int i = 0; i < n; i++){
		scanf("%d%d", &sub, &score);
		a[sub] += score;
	}
	for(int i = 1; i <= n; i++){
		if(a[i] > max){
				maxp = i;
			max = a[i];
		}
	}
	printf("%d %d", maxp, max);
	return 0;
} 
posted @ 2022-01-04 11:23  Moliay  阅读(8)  评论(0)    收藏  举报