GalinaBel

Untitled

Feb 21st, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.72 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace P05BombNumbers
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<int> sequence = Console.ReadLine().Split().Select(int.Parse).ToList();
  12.             List<int> specialNumber = Console.ReadLine().Split().Select(int.Parse).ToList();
  13.             DetonateEveryBombNumberFromLeft(sequence, specialNumber);
  14.             DetonateEveryBombNumberFromRight(sequence, specialNumber);
  15.             int sum = 0;
  16.             Console.WriteLine(SumElementsOfList(sequence, sum));
  17.         }
  18.  
  19.         private static void DetonateEveryBombNumberFromRight(List<int> sequence, List<int> specialNumber)
  20.         {
  21.             for (int i = 0; i < sequence.Count; i++)
  22.             {
  23.                 if (sequence[i] == specialNumber[0])
  24.                 {
  25.                     int powerNumber = specialNumber[1];
  26.                     int indexFromRight = (sequence.Count - 1) - i;
  27.                     if (indexFromRight < powerNumber)
  28.                     {
  29.                         sequence.RemoveRange(i, indexFromRight);
  30.                         sequence.RemoveAt(i);
  31.                     }
  32.                     else if (indexFromRight >= powerNumber)
  33.                     {
  34.                         sequence.RemoveRange(i, powerNumber);
  35.                         sequence.RemoveAt(i);
  36.                     }
  37.                     else if (indexFromRight == 0)
  38.                     {
  39.                         sequence.RemoveAt(i);
  40.                     }
  41.                 }
  42.             }
  43.         }
  44.  
  45.         private static int SumElementsOfList(List<int> sequence, int sum)
  46.         {
  47.             for (int i = 0; i < sequence.Count; i++)
  48.             {
  49.                 sum += sequence[i];
  50.             }
  51.             return sum;
  52.         }
  53.  
  54.         private static void DetonateEveryBombNumberFromLeft(List<int> sequence, List<int> specialNumber)
  55.         {
  56.             for (int i = 0; i < sequence.Count; i++)
  57.             {
  58.                 int countIndexes = i;
  59.                 if (sequence[i] == specialNumber[0])
  60.                 {
  61.                     int powerNumber = specialNumber[1];
  62.                     int indexFromLeft = i - powerNumber;
  63.                     if (countIndexes >= powerNumber)
  64.                     {
  65.                         sequence.RemoveRange(indexFromLeft, powerNumber);
  66.                     }
  67.                     else if (indexFromLeft == 0)
  68.                     {
  69.                         sequence.RemoveAt(i);
  70.                     }
  71.                     else
  72.                     {
  73.                         sequence.RemoveRange(i, sequence[0]);
  74.                     }
  75.                 }
  76.             }
  77.         }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment