la-ma-rin

pokemonDon'tGo

Feb 25th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.84 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.stream.Collectors;
  6.  
  7. public class pokemonDontGo {
  8.     public static void main(String[] args) {
  9.         Scanner scan = new Scanner(System.in);
  10.  
  11.         List<Integer> line = Arrays.stream(scan.nextLine()
  12.                 .split("\\s+"))
  13.                 .map(Integer::parseInt)
  14.                 .collect(Collectors.toList());
  15.  
  16.         List<Integer> result = new ArrayList<>();
  17.  
  18.         while (line.size() > 0) {
  19.  
  20.             int index = Integer.parseInt(scan.nextLine());
  21.  
  22.             if (index < 0) {
  23.  
  24.                 result.add(line.get(0));
  25.                 line.set(0, line.get(line.size() - 1));
  26.  
  27.                 int value = 0;
  28.                 value = line.get(0);
  29.  
  30.                 setValue(line, value);
  31.             } else if (index > line.size() - 1) {
  32.  
  33.                 result.add(line.get(line.size() - 1));
  34.                 line.set(line.size() - 1, line.get(0));
  35.  
  36.                 int value = 0;
  37.                 value = line.get(line.size() - 1);
  38.  
  39.                 setValue(line, value);
  40.             } else {
  41.  
  42.                 int value = 0;
  43.                 value = line.get(index);
  44.                 result.add(line.get(index));
  45.                 line.remove(index);
  46.  
  47.                 setValue(line, value);
  48.             }
  49.         }
  50.         int sum = 0;
  51.         for (Integer integer : result) {
  52.             sum += integer;
  53.         }
  54.         System.out.println(sum);
  55.     }
  56.  
  57.     private static void setValue(List<Integer> line, int value) {
  58.         for (int i = 0; i < line.size(); i++) {
  59.             if (line.get(i) <= value) {
  60.                 line.set(i, value + line.get(i));
  61.             } else if (line.get(i) > value) {
  62.                 line.set(i, line.get(i) - value);
  63.             }
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment