veronikaaa86

Bomb Number

Feb 11th, 2018
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.57 KB | None | 0 0
  1. package Lists;
  2.  
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5. import java.util.Scanner;
  6.  
  7. public class P07_BombNumber {
  8.     public static void main(String[] args) throws IOException {
  9.         Scanner scanner = new Scanner(System.in);
  10.  
  11.         ArrayList<Integer> numbers = InputTolist(scanner.nextLine().split("\\s"));
  12.  
  13.         int bomb = scanner.nextInt();
  14.         int power = scanner.nextInt();
  15.  
  16.         while (numbers.indexOf(bomb) >= 0){
  17.             detonatedNums(numbers, bomb, power);
  18.         }
  19.  
  20.         System.out.println(getSum(numbers));
  21.     }
  22.  
  23.     private static int getSum(ArrayList<Integer> numbers) {
  24.         int sum = 0;
  25.  
  26.         for (int i = 0; i < numbers.size(); i++) {
  27.             sum += numbers.get(i);
  28.         }
  29.  
  30.         return sum;
  31.     }
  32.  
  33.     private static void detonatedNums(ArrayList<Integer> numbers, int bomb, int power) {
  34.         int bombIndex = numbers.indexOf(bomb);
  35.         int removalIndex = bombIndex - power;
  36.         int deletionsCount = power * 2 + 1;
  37.  
  38.         if (removalIndex < 0) {
  39.             deletionsCount += removalIndex;
  40.             removalIndex = 0;
  41.         }
  42.  
  43.         while (deletionsCount > 0 && removalIndex < numbers.size()) {
  44.             numbers.remove(removalIndex);
  45.             deletionsCount--;
  46.         }
  47.     }
  48.  
  49.     private static ArrayList<Integer> InputTolist(String[] strings) {
  50.         ArrayList<Integer> numbers = new ArrayList<Integer>();
  51.  
  52.         for (int i = 0; i < strings.length; i++) {
  53.             numbers.add(Integer.parseInt(strings[i]));
  54.         }
  55.  
  56.         return numbers;
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment