Advertisement
Guest User

Kamino Factory

a guest
Feb 17th, 2020
1,033
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.07 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace _9_KaminoFactory
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             int n = int.Parse(Console.ReadLine());
  11.             string command = Console.ReadLine();
  12.             int maxSequence = 0;
  13.             int leftMostIndex = int.MaxValue;
  14.             int sum = 0;
  15.             int[] arrMax = new int[n];
  16.            
  17.             while (command != "Clone them!")
  18.             {
  19.                
  20.                 int[] arr = command.Split("!", StringSplitOptions.RemoveEmptyEntries)
  21.                     .Select(int.Parse)
  22.                     .ToArray();
  23.  
  24.                 int counter = 1;
  25.                 int currMaxSequence = 1;
  26.                 int currMaxIndex = 0;
  27.                 int currSum = 0;
  28.                 for (int i = 0; i < arr.Length; i++)
  29.                 {
  30.                     int currNum = arr[i];
  31.                     currSum += arr[i];
  32.                     for (int currI = i+1; currI < arr.Length; currI++)
  33.                     {
  34.                         if(currNum == 1 && currNum==arr[currI])
  35.                         {
  36.                             counter++;
  37.                         }
  38.                         else if(currNum == 1)
  39.                         {
  40.                             currMaxIndex = i;
  41.                         }
  42.                         else
  43.                         {
  44.                             break;
  45.                         }
  46.                     }
  47.                     if(currMaxSequence<counter)
  48.                     {
  49.                         currMaxSequence = counter;
  50.                         currMaxIndex = i;
  51.                        
  52.  
  53.                     }
  54.                 }
  55.  
  56.                 if((currMaxSequence>maxSequence) ||
  57.                     (currMaxSequence == maxSequence && leftMostIndex > currMaxIndex) ||
  58.                     (sum < currSum))
  59.                 {
  60.                     maxSequence = currMaxSequence;
  61.                     arrMax = arr.ToArray();
  62.                     leftMostIndex = currMaxIndex;
  63.                     sum = currSum;
  64.                 }
  65.                 //else if(currMaxSequence == maxSequence && leftMostIndex != currMaxIndex)
  66.                 //{
  67.                 //    if(leftMostIndex>currMaxIndex)
  68.                 //    {
  69.                 //        leftMostIndex = currMaxIndex;
  70.                 //        arrMax = arr.ToArray();
  71.                 //        sum = currSum;
  72.                 //    }
  73.                 //}
  74.                 //else if(currMaxSequence == maxSequence && leftMostIndex == currMaxIndex)
  75.                 //{
  76.                 //    if(currSum>sum)
  77.                 //    {
  78.                 //        sum = currSum;
  79.                 //        arrMax = arr.ToArray();
  80.                 //        leftMostIndex = currMaxIndex;
  81.                 //    }
  82.                 //}
  83.  
  84.                command = Console.ReadLine();
  85.             }
  86.  
  87.             Console.WriteLine($"Best DNA sample {leftMostIndex+1} with sum: {sum}.");
  88.             Console.WriteLine(string.Join(" ", arrMax));
  89.            
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement