Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.Set;
- public class Main {
- public static void main(String[] args) {
- int n;
- Scanner in = new Scanner(System.in);
- n = in.nextInt();
- String[] name = new String[n];
- int[] score = new int[n];
- Map<String, Integer> scoring = new HashMap<>();
- for (int i = 0; i < n; i++) {
- name[i] = in.next();
- score[i] = in.nextInt();
- if (!scoring.containsKey(name[i])) {
- scoring.put(name[i], score[i]);
- } else {
- scoring.put(name[i], scoring.get(name[i]) + score[i]);
- }
- }
- int maxScore = 0;
- for (Integer finalScore : scoring.values()) {
- maxScore = Math.max(maxScore, finalScore);
- }
- Set<String> candidates = new HashSet<>();
- for (Map.Entry<String, Integer> entry : scoring.entrySet()) {
- if (entry.getValue() >= maxScore) {
- candidates.add(entry.getKey());
- }
- }
- scoring.clear();
- for (int i = 0; i < n; i++) {
- if (!scoring.containsKey(name[i])) {
- scoring.put(name[i], score[i]);
- } else {
- scoring.put(name[i], scoring.get(name[i]) + score[i]);
- }
- if (scoring.get(name[i]) >= maxScore && candidates.contains(name[i])) {
- System.out.println(name[i]);
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment