petyaminkova91

Untitled

Oct 12th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApp1
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. int length = int.Parse(Console.ReadLine());
  11.  
  12. string input = Console.ReadLine();
  13.  
  14. int[] bestDNAsequence = new int[length];
  15. int sequenceCounter = 1;
  16. int bestSequenceCounter = 0;
  17. int subsequenceMax = 0;
  18. int bestSequenceSum = 0;
  19. int bestSequenceIndex = int.MaxValue;
  20. int counter = 0;
  21.  
  22. while (input != "Clone them!")
  23. {
  24. int[] dna = input.Split("!", StringSplitOptions.RemoveEmptyEntries)
  25. .Select(int.Parse)
  26. .ToArray();
  27.  
  28. int subsequenceCounter = 0;
  29. counter++;
  30.  
  31.  
  32. for (int i = 0; i < dna.Length - 1; i++)
  33. {
  34. if (dna[i] == 1 && dna[i] == dna[i + 1])
  35. {
  36. subsequenceCounter++;
  37.  
  38. if (subsequenceCounter > subsequenceMax || subsequenceCounter == subsequenceMax & i < bestSequenceIndex || subsequenceCounter == subsequenceMax && i == bestSequenceIndex && dna.Sum() > bestSequenceSum || counter == 1)
  39. {
  40. subsequenceMax = subsequenceCounter;
  41. bestSequenceIndex = i;
  42. bestSequenceSum = dna.Sum();
  43. bestSequenceCounter = sequenceCounter;
  44. bestDNAsequence = dna;
  45. }
  46. }
  47. else
  48. {
  49. subsequenceCounter = 0;
  50. }
  51. }
  52.  
  53. sequenceCounter++;
  54. input = Console.ReadLine();
  55. }
  56.  
  57. if (bestSequenceCounter == 0 && bestSequenceSum == 0)
  58. {
  59. bestSequenceCounter = 1;
  60. }
  61. Console.WriteLine($"Best DNA sample {bestSequenceCounter} with sum: {bestSequenceSum}.");
  62. Console.WriteLine(String.Join(" ", bestDNAsequence));
  63. }
  64. }
  65. }
Add Comment
Please, Sign In to add comment