Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- namespace P09_Kamino_Factory
- {
- class Program
- {
- static void Main(string[] args)
- {
- int length = int.Parse(Console.ReadLine());
- int longestSubsequence = -1;
- int longestSubIndex = -1;
- int longestSubsum = -1;
- int indexOfLongest = 0;
- int[] sequence = new int[length];
- string input = Console.ReadLine();
- int indexOfSequence = 1;
- while(input != "Clone them!")
- {
- int[] curentSeq = input.Split('!', StringSplitOptions.RemoveEmptyEntries)
- .Select(int.Parse)
- .ToArray();
- int subsequence = 0;
- int subIndex = -1;
- int subSum = 0;
- int count = 0;
- for (int i = 0; i < length; i++)
- {
- if(curentSeq[i] == 1)
- {
- count++;
- subSum++;
- if (count > subsequence)
- {
- subsequence = count;
- subIndex = i - count;
- }
- }
- else
- {
- count = 0;
- }
- }
- if(subsequence > longestSubsequence)
- {
- longestSubIndex = subIndex;
- longestSubsequence = subsequence;
- longestSubsum = subSum;
- sequence = curentSeq;
- indexOfLongest = indexOfSequence;
- }
- else if(subsequence == longestSubsequence && longestSubIndex > subIndex)
- {
- longestSubIndex = subIndex;
- longestSubsum = subSum;
- sequence = curentSeq;
- indexOfLongest = indexOfSequence;
- }
- else if(subsequence == longestSubsequence
- && longestSubIndex == subIndex
- && longestSubsum < subSum)
- {
- longestSubsum = subSum;
- sequence = curentSeq;
- indexOfLongest = indexOfSequence;
- }
- indexOfSequence++;
- input = Console.ReadLine();
- }
- Console.WriteLine($"Best DNA sample {indexOfLongest} with sum: {longestSubsum}.");
- Console.WriteLine(String.Join(" ", sequence));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement