SimeonSheytanov

Trophon the Grumpy Cat

Sep 13th, 2016
592
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.94 KB | None | 0 0
  1. namespace Trophon
  2. {
  3.     using System;
  4.     using System.Linq;
  5.     public class Trophon
  6.     {
  7.         public static void Main(string[] args)
  8.         {
  9.             long[] numbers = Console.ReadLine().Split().Select(long.Parse).ToArray();
  10.  
  11.             int targetIndex = int.Parse(Console.ReadLine());
  12.             string size = Console.ReadLine();
  13.             string type = Console.ReadLine();
  14.  
  15.             long leftSum = numbers
  16.                 .Take(targetIndex)
  17.                 .Where(num => IsValid((int)num, (int)numbers[targetIndex], size, type))
  18.                 .Sum();
  19.  
  20.             long rightSum = numbers
  21.                 .Skip(targetIndex + 1)
  22.                 .Where(num => IsValid((int)num, (int)numbers[targetIndex], size, type))
  23.                 .Sum();
  24.  
  25.             Console.WriteLine(leftSum >= rightSum ? "Left - " + leftSum : "Right - " + rightSum);
  26.         }
  27.  
  28.         public static bool IsValid(int number, int targetNumber, string size, string type)
  29.         {
  30.             if (size == "cheap")
  31.             {
  32.                 if (targetNumber > number)
  33.                 {
  34.                     return IsValidType(number, size, type);
  35.                 }
  36.             }
  37.             else
  38.             {
  39.                 if (targetNumber <= number)
  40.                 {
  41.                     return IsValidType(number, size, type);
  42.                 }
  43.             }
  44.  
  45.             return false;
  46.         }
  47.  
  48.         public static bool IsValidType(int number, string size, string type)
  49.         {
  50.             if (type == "positive")
  51.             {
  52.                 if (number > 0)
  53.                 {
  54.                     return true;
  55.                 }
  56.                 return false;
  57.             }
  58.  
  59.             if (type == "negative")
  60.             {
  61.                 if (number < 0)
  62.                 {
  63.                     return true;
  64.                 }
  65.                 return false;
  66.             }
  67.  
  68.             return true;
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment