Advertisement
YavorJS

12. Bomb Numbers -100%

Aug 24th, 2016
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _12.Bomb_Numbers
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. List<int> numbers = Console.ReadLine().Split().Select(int.Parse).ToList();
  14. int[] bombAndPower = Console.ReadLine().Split().Select(int.Parse).ToArray();
  15. int bombNumber = bombAndPower[0];
  16. int bombPower = bombAndPower[1];
  17. List<int> remainingNumbers = detonations(numbers, bombNumber, bombPower);
  18. Console.WriteLine(remainingNumbers.Sum());
  19.  
  20. }
  21.  
  22. private static List<int> detonations(List<int> numbers, int bombNumber, int bombPower)
  23. {
  24. for (int number = 0; number < numbers.Count; number++)
  25. {
  26. if (numbers[number] == bombNumber)
  27. {
  28. int leftExplosion = number - bombPower;
  29. int rightExplosion = number + bombPower;
  30.  
  31. if (leftExplosion < 0) leftExplosion = 0;
  32. if (rightExplosion > numbers.Count - 1) rightExplosion = numbers.Count - 1;
  33.  
  34. int detonationLength = rightExplosion - leftExplosion + 1;
  35. numbers.RemoveRange(leftExplosion, detonationLength);
  36. number = 0;
  37. }
  38. }
  39. return numbers;
  40. }
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement