Advertisement
rSofiiski

05.BombNumbers - 75/100

Feb 17th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. namespace BombNumbers
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. List<int> field = Console.ReadLine().
  12. Split(' ').
  13. Select(int.Parse).
  14. ToList();
  15. int[] bombInfo = Console.ReadLine().
  16. Split(' ').
  17. Select(int.Parse).
  18. ToArray();
  19. int bomb = bombInfo[0];
  20. int power = bombInfo[1];
  21.  
  22. BombField(field, bomb, power);
  23. GetAndPrintFieldSum(field);
  24. }
  25. static void BombField (List<int> field, int bomb, int power)
  26. {
  27. for (int i = 0; i < field.Count; i++)
  28. {
  29. if (field[i] == bomb)
  30. {
  31. if (i + power < field.Count && i - power >= 0)
  32. {
  33. for (int k = 0; k < power * 2 + 1; k++)
  34. {
  35. field.RemoveAt(i - power);
  36. }
  37. }
  38. else if (i + power >= field.Count && i - power >= 0)
  39. {
  40. int remainingElements = field.Count - i;
  41. for (int k = 0; k < power + remainingElements; k++)
  42. {
  43. field.RemoveAt(i - power);
  44. }
  45. }
  46. else if (i + power < field.Count && i - power < 0)
  47. {
  48. for (int k = i + power; k >= 0; k--)
  49. {
  50. field.RemoveAt(0);
  51. }
  52. }
  53. else
  54. {
  55. for (int k = 0; k < field.Count; k++)
  56. {
  57. field.RemoveAt(0);
  58. }
  59. }
  60. }
  61. }
  62. }
  63. static void GetAndPrintFieldSum (List<int> field)
  64. {
  65. int sum = 0;
  66. for (int i = 0; i < field.Count; i++)
  67. {
  68. sum += field[i];
  69. }
  70. Console.WriteLine(sum);
  71. }
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement