Advertisement
Guest User

01. Underground_Waters

a guest
Jun 21st, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.71 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace _01._Underground_Waters
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<int> airArr = Console.ReadLine()
  12.                 .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  13.                 .Select(int.Parse)
  14.                 .ToList();
  15.             List<int> raindropsArr = Console.ReadLine()
  16.                 .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  17.                 .Select(int.Parse)
  18.                 .ToList();
  19.  
  20.             airArr.Insert(0, 0);
  21.             airArr.Add(0);
  22.            
  23.             int counter = 0;
  24.             int localMaximumValueAir = 0;
  25.  
  26.             for (int i = 1; i < airArr.Count - 1; i++)
  27.             {
  28.                 int localValue;
  29.                 if (airArr[i] > airArr[i - 1] && airArr[i] > airArr[i + 1])
  30.                 {
  31.                     localValue = airArr[i];
  32.                     counter++;
  33.                     if (localValue > localMaximumValueAir)
  34.                     {
  35.                         localMaximumValueAir = localValue;
  36.                     }
  37.                 }
  38.             }
  39.  
  40.             for (int i = 0; i < raindropsArr.Count; i++)
  41.             {
  42.                 raindropsArr[i] = raindropsArr[i] - counter;
  43.             }
  44.  
  45.             raindropsArr.RemoveAll(x => x <= 0);
  46.             int localMaximumValueRain = 0;
  47.  
  48.            
  49.             if (raindropsArr.Count == 1)
  50.             {
  51.                 localMaximumValueRain = raindropsArr[0];
  52.             }
  53.             else
  54.             {
  55.                 raindropsArr.Insert(0, 0);
  56.                 raindropsArr.Add(0);
  57.  
  58.                 for (int i = 1; i < raindropsArr.Count - 1; i++)
  59.                 {
  60.                     int localValue;
  61.                     if (raindropsArr[i] > raindropsArr[i - 1] && raindropsArr[i] > raindropsArr[i + 1])
  62.                     {
  63.                         localValue = raindropsArr[i];
  64.                         if (localValue > localMaximumValueRain)
  65.                         {
  66.                             localMaximumValueRain = localValue;
  67.                         }
  68.                     }
  69.                 }
  70.             }
  71.  
  72.             if (localMaximumValueAir == localMaximumValueRain)
  73.             {
  74.                 Console.WriteLine("Something interesting was found!");
  75.                 Console.WriteLine($"Sum: {localMaximumValueAir + localMaximumValueRain}");
  76.             }
  77.             else
  78.             {
  79.                 Console.WriteLine("There is nothing unordinary!");
  80.                 Console.WriteLine($"Difference: {Math.Abs(localMaximumValueAir - localMaximumValueRain)}");
  81.             }
  82.         }
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement