当前位置: 代码迷 >> 综合 >> C++ - PAT - 1032. 挖掘机技术哪家强(20)
  详细解决方案

C++ - PAT - 1032. 挖掘机技术哪家强(20)

热度:76   发布时间:2023-10-09 20:43:29.0

为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。

输入格式:

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

输出格式:

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

输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150


#include<stdio.h>
/**思路:*由题意可知学校不超过10^5个;*因为 学校编号从1开始编号;*所以 定义一个10^5+1大的数组;*数组下表代表学校编号,数组的值代表学校的总分;*目的:求出总分最大的学校编号及其分数;*/
int main(){int a[100001]={0};int n,x,y;int max=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d %d",&x,&y);a[x]+=y;if(a[x]>a[max])max=x;}printf("%d %d",max,a[max]);return 0;
}

Java编写的话会有一个测试点运行超时,因为题目的时间限制是200ms,要求比较高,如果用同样的方法但是用Java编写代码 ,是不会通过的。