PAT-basic-1032 挖掘机技术哪家强

发布时间 2023-04-21 00:21:05作者: 正明小佐

一、题目


为了用事实说明挖掘机技术到底哪家强,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;
}