Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace P05BombNumbers
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<int> sequence = Console.ReadLine().Split().Select(int.Parse).ToList();
- List<int> specialNumber = Console.ReadLine().Split().Select(int.Parse).ToList();
- DetonateEveryBombNumberFromLeft(sequence, specialNumber);
- DetonateEveryBombNumberFromRight(sequence, specialNumber);
- int sum = 0;
- Console.WriteLine(SumElementsOfList(sequence, sum));
- }
- private static void DetonateEveryBombNumberFromRight(List<int> sequence, List<int> specialNumber)
- {
- for (int i = 0; i < sequence.Count; i++)
- {
- if (sequence[i] == specialNumber[0])
- {
- int powerNumber = specialNumber[1];
- int indexFromRight = (sequence.Count - 1) - i;
- if (indexFromRight < powerNumber)
- {
- sequence.RemoveRange(i, indexFromRight);
- sequence.RemoveAt(i);
- }
- else if (indexFromRight >= powerNumber)
- {
- sequence.RemoveRange(i, powerNumber);
- sequence.RemoveAt(i);
- }
- else if (indexFromRight == 0)
- {
- sequence.RemoveAt(i);
- }
- }
- }
- }
- private static int SumElementsOfList(List<int> sequence, int sum)
- {
- for (int i = 0; i < sequence.Count; i++)
- {
- sum += sequence[i];
- }
- return sum;
- }
- private static void DetonateEveryBombNumberFromLeft(List<int> sequence, List<int> specialNumber)
- {
- for (int i = 0; i < sequence.Count; i++)
- {
- int countIndexes = i;
- if (sequence[i] == specialNumber[0])
- {
- int powerNumber = specialNumber[1];
- int indexFromLeft = i - powerNumber;
- if (countIndexes >= powerNumber)
- {
- sequence.RemoveRange(indexFromLeft, powerNumber);
- }
- else if (indexFromLeft == 0)
- {
- sequence.RemoveAt(i);
- }
- else
- {
- sequence.RemoveRange(i, sequence[0]);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment