chillurbrain

Доп. из 13. Победитель.

May 26th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.57 KB | None | 0 0
  1. import java.util.HashMap;
  2. import java.util.HashSet;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5. import java.util.Set;
  6.  
  7. public class Main {
  8.     public static void main(String[] args) {
  9.         int n;
  10.         Scanner in = new Scanner(System.in);
  11.         n = in.nextInt();
  12.         String[] name = new String[n];
  13.         int[] score = new int[n];
  14.         Map<String, Integer> scoring = new HashMap<>();
  15.         for (int i = 0; i < n; i++) {
  16.             name[i] = in.next();
  17.             score[i] = in.nextInt();
  18.             if (!scoring.containsKey(name[i])) {
  19.                 scoring.put(name[i], score[i]);
  20.             } else {
  21.                 scoring.put(name[i], scoring.get(name[i]) + score[i]);
  22.             }
  23.         }
  24.         int maxScore = 0;
  25.         for (Integer finalScore : scoring.values()) {
  26.             maxScore = Math.max(maxScore, finalScore);
  27.         }
  28.         Set<String> candidates = new HashSet<>();
  29.         for (Map.Entry<String, Integer> entry : scoring.entrySet()) {
  30.             if (entry.getValue() >= maxScore) {
  31.                 candidates.add(entry.getKey());
  32.             }
  33.         }
  34.         scoring.clear();
  35.         for (int i = 0; i < n; i++) {
  36.             if (!scoring.containsKey(name[i])) {
  37.                 scoring.put(name[i], score[i]);
  38.             } else {
  39.                 scoring.put(name[i], scoring.get(name[i]) + score[i]);
  40.             }
  41.             if (scoring.get(name[i]) >= maxScore && candidates.contains(name[i])) {
  42.                 System.out.println(name[i]);
  43.                 break;
  44.             }
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment