Didart

Pokemon Don't Go

Oct 15th, 2021
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.18 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.stream.Collectors;
  5.  
  6. public class PokemonDontGo {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         List<Integer> distancePokemons = Arrays
  11.                 .stream(scanner.nextLine().split(" "))
  12.                 .map(Integer::parseInt)
  13.                 .collect(Collectors.toList());
  14.  
  15.         int sum = 0;
  16.         while (distancePokemons.size() > 0) {
  17.             int index = Integer.parseInt(scanner.nextLine());
  18.  
  19.             if (index >= 0 && index <= distancePokemons.size() - 1) {
  20.                 int removedElement = distancePokemons.get(index);
  21.                 sum += removedElement;
  22.                 distancePokemons.remove(index);
  23.                 changeElements(distancePokemons, removedElement);
  24.             } else if (index < 0) {
  25.                 int removedElementFirst = distancePokemons.get(0);
  26.                 sum += removedElementFirst;
  27.                 int lastElement = distancePokemons.get(distancePokemons.size() - 1);
  28.                 distancePokemons.set(0, lastElement);
  29.                 changeElements(distancePokemons, removedElementFirst);
  30.             } else if (index > distancePokemons.size() - 1) {
  31.                 int removedElementLast = distancePokemons.get(distancePokemons.size() - 1);
  32.                 sum += removedElementLast;
  33.                 int firstElement = distancePokemons.get(0);
  34.                 distancePokemons.set(distancePokemons.size() - 1, firstElement);
  35.                 changeElements(distancePokemons, removedElementLast);
  36.             }
  37.         }
  38.         System.out.println(sum);
  39.     }
  40.  
  41.     private static void changeElements(List<Integer> distancePokemons, int removedElement) {
  42.  
  43.         for (int listIndex = 0; listIndex <= distancePokemons.size() - 1; listIndex++) {
  44.             int currentNumber = distancePokemons.get(listIndex);
  45.             if (currentNumber <= removedElement) {
  46.                 currentNumber += removedElement;
  47.             } else {
  48.                 currentNumber -= removedElement;
  49.             }
  50.             distancePokemons.set(listIndex, currentNumber);
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment