Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _07.BombNumbers
- {
- public class StartUp
- {
- public static void Main(string[] args)
- {
- List<int> numbers = Console.ReadLine()
- .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .Select(int.Parse)
- .ToList();
- List<int> result = new List<int>();
- int[] commandArgs = Console.ReadLine()
- .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .Select(int.Parse)
- .ToArray();
- int bombNumber = commandArgs[0];
- int power = commandArgs[1];
- while (numbers.Contains(bombNumber))
- {
- int bombIndex = numbers.IndexOf(bombNumber);
- int leftSide = numbers.Count - (numbers.Count - bombIndex);
- int rightSide = numbers.Count - bombIndex - 1;
- if (power > rightSide && power <= leftSide)
- {
- int explosionStartIndex = bombIndex - power;
- int explosionLength = rightSide + power + 1;
- numbers.RemoveRange(explosionStartIndex, explosionLength);
- }
- if (power > leftSide && power <= rightSide)
- {
- int explosionStartIndex = 0;
- int explosionLength = leftSide + power + 1;
- numbers.RemoveRange(explosionStartIndex, explosionLength);
- }
- if (power > leftSide && power > rightSide)
- {
- numbers.Clear();
- }
- if (power <= leftSide && power <= rightSide)
- {
- int explosionStartIndex = bombIndex - power;
- int explosionLength = power * 2 + 1;
- numbers.RemoveRange(explosionStartIndex, explosionLength);
- }
- }
- Console.WriteLine(numbers.Sum());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment