Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- Map<String, Integer> junk = new TreeMap<>();
- Map<String, Integer> keyMaterial = new LinkedHashMap<>();
- keyMaterial.put("motes", 0);
- keyMaterial.put("fragments", 0);
- keyMaterial.put("shards", 0);
- int shardsCount = 0;
- int motesCount = 0;
- int fragmentCount = 0;
- boolean isAvailable = false;
- while (!isAvailable) {
- String[] tokens = sc.nextLine().split(" ");
- for (int i = 0; i < tokens.length; i += 2) {
- int quantity = Integer.parseInt(tokens[i]);
- String material = tokens[i + 1].toLowerCase();
- if (keyMaterial.containsKey(material)) {
- int value = keyMaterial.get(material) + quantity;
- keyMaterial.put(material, value);
- if (material.equals("motes")) {
- motesCount = keyMaterial.get("motes");
- if (motesCount >= 250) {
- isAvailable = true;
- keyMaterial.put("motes", motesCount-250);
- break;
- }
- }
- if (material.equals("fragments")) {
- fragmentCount = keyMaterial.get("fragments");
- if (fragmentCount >= 250) {
- isAvailable = true;
- keyMaterial.put("fragments", fragmentCount-250);
- break;
- }
- }
- if (material.equals("shards")){
- shardsCount = keyMaterial.get("shards");
- if(shardsCount >= 250){
- isAvailable = true;
- keyMaterial.put("shards", shardsCount-250);
- break;
- }
- }
- } else {
- if (!junk.containsKey(material)) {
- junk.put(material, quantity);
- } else {
- junk.put(material, junk.get(material) + quantity);
- }
- }
- }
- }
- String itemName = null;
- if(motesCount >= 250){
- itemName = "Dragonwrath";
- }else if(shardsCount >= 250){
- itemName = "Shadowmourne";
- }else if(fragmentCount >= 250){
- itemName = "Valanyr";
- }
- System.out.printf("%s obtained!%n",itemName);
- keyMaterial.entrySet().stream().sorted((f, s) -> {
- return s.getValue().compareTo(f.getValue());
- }).forEach(entry ->{
- System.out.println(entry.getKey() + ": " + (entry.getValue()));
- });
- for (Map.Entry<String, Integer> junkEntry : junk.entrySet()) {
- System.out.printf("%s: %d%n",junkEntry.getKey(), junkEntry.getValue());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement