PAT-basic-1032 挖掘机技术哪家强
一、题目
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第 1 行给出不超过 的正整数 ,即参赛人数。随后 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
二、解析
送分题。。。。。。但java会超时
三、代码
java超时版:
查看代码
package shuati;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class PAT_BASIC_1032 {
private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) throws IOException {
int n = Integer.parseInt(br.readLine());
int sum[] = new int[n+1];
int maxGrade = -1, maxSchool = -1;
for(int i=0; i<n; i++){
String str[] = br.readLine().split(" ");
int school = Integer.parseInt(str[0]);
int grade = Integer.parseInt(str[1]);
sum[school] += grade;
if(sum[school] > maxGrade){
maxGrade = sum[school];
maxSchool = school;
}
}
System.out.println(maxSchool + " " + maxGrade);
}
}
c++:
//
// Created by dongdong on 2023/4/13.
//
#include <cstring>
#include "iostream"
int main(){
int n;
scanf("%d", &n);
int sum[n+1];
memset(sum, 0, sizeof(sum));
int maxGrade = -1, maxSchool = -1;
int school, grade;
for(int i=0; i<n; i++){
scanf("%d %d", &school, &grade);
sum[school] += grade;
if(sum[school] > maxGrade){
maxGrade = sum[school];
maxSchool = school;
}
}
printf("%d %d\n", maxSchool, maxGrade);
return 0;
}