Advertisement
Ligh7_of_H3av3n

09. Pokemon Don't Go

Feb 9th, 2024
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.93 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_09 {
  7.  
  8.     public static void main(String[] args) {
  9.  
  10.         Scanner sc = new Scanner(System.in);
  11.  
  12.         List<Integer> numbers = Arrays.stream(sc.nextLine().split(" "))
  13.                 .map(Integer::parseInt)
  14.                 .collect(Collectors.toList());
  15.  
  16.         int sum = 0;
  17.  
  18.         while (!numbers.isEmpty()) {
  19.  
  20.             int index = Integer.parseInt(sc.nextLine());
  21.  
  22.             if (index >= 0 && index < numbers.size()) {
  23.                 int removedElement = numbers.get(index);
  24.                 sum += removedElement;
  25.                 numbers.remove(index);
  26.                 modifyList(numbers, removedElement);
  27.  
  28.             } else if (index < 0) {
  29.                 int removedElement = numbers.get(0);
  30.                 sum += removedElement;
  31.                 int lastElement = numbers.get(numbers.size() - 1);
  32.                 numbers.set(0, lastElement);
  33.                 modifyList(numbers, removedElement);
  34.  
  35.             } else if (index >= numbers.size()) {
  36.                 int removedElement = numbers.get(numbers.size() - 1);
  37.                 sum += removedElement;
  38.                 int firstElement = numbers.get(0);
  39.                 numbers.set(numbers.size() - 1, firstElement);
  40.                 modifyList(numbers, removedElement);
  41.             }
  42.         }
  43.  
  44.         System.out.println(sum);
  45.  
  46.     }
  47.  
  48.     private static void modifyList(List<Integer> numbers, int removedElement) {
  49.  
  50.         for (int position = 0; position < numbers.size(); position++) {
  51.  
  52.             int currentElement = numbers.get(position);
  53.  
  54.             if (currentElement <= removedElement) {
  55.                 currentElement += removedElement;
  56.             } else {
  57.                 currentElement -= removedElement;
  58.             }
  59.             numbers.set(position, currentElement);
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement