Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class InternationalSoftUniada {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String input = scanner.nextLine();
- Map<String, List<String>> countries = new LinkedHashMap<>();
- Map<String, Integer> contestants = new LinkedHashMap<>();
- Map<String, Integer> countriesPoints = new LinkedHashMap<>();
- while (!input.equals("END")) {
- String[] tokens = input.split(" -> ");
- String country = tokens[0];
- String contestant = tokens[1];
- int points = Integer.parseInt(tokens[2]);
- if (!countries.containsKey(country)) {
- countries.put(country, new ArrayList<>());
- countries.get(country).add(contestant);
- contestants.put(contestant, points);
- countriesPoints.put(country, points);
- } else {
- if (!countries.get(country).contains(contestant)) {
- countries.get(country).add(contestant);
- contestants.put(contestant, points);
- } else {
- contestants.put(contestant, contestants.get(contestant) + points);
- }
- countriesPoints.put(country, countriesPoints.get(country) + points);
- }
- input = scanner.nextLine();
- }
- countriesPoints.entrySet()
- .stream()
- .sorted((f, s) -> {
- return s.getValue().compareTo(f.getValue());
- })
- .forEach(e -> {
- System.out.printf("%s: %d%n", e.getKey(), e.getValue());
- for (String name : countries.get(e.getKey())) {
- System.out.printf("-- %s -> %d%n"
- , name, contestants.get(name));
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment