Advertisement
Miki1337

Untitled

Feb 19th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4.  
  5. class Program
  6. {
  7. static void Main()
  8. {
  9. int dnaLength = int.Parse(Console.ReadLine());
  10. string input = Console.ReadLine();
  11. int bestDnaSeqIndex = int.MaxValue;
  12. int bestDnaSeqFinal = 0;
  13. int finalSum = 0;
  14. int[] result = new int[dnaLength];
  15. int finalDna = 0;
  16. int Dna = 0;
  17.  
  18. while (input != "Clone them!")
  19. {
  20. int[] inputDna = input.Split(new char[] { '!' },StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  21. int currentSum = inputDna.Sum();
  22. int counter = 0;
  23. int bestDnaSeq = 0;
  24. int bestDnaSeqIndexChecker = 0;
  25. Dna++;
  26.  
  27. for (int i = 0; i < inputDna.Length; i++)
  28. {
  29. if (inputDna[i] == 1)
  30. {
  31. counter++;
  32. if (counter > bestDnaSeq)
  33. {
  34. bestDnaSeq = counter;
  35. bestDnaSeqIndexChecker = (i + 2 - bestDnaSeq);
  36. }
  37.  
  38.  
  39. }
  40. else
  41. {
  42. counter = 0;
  43. }
  44. }
  45. if (bestDnaSeq > bestDnaSeqFinal)
  46. {
  47. bestDnaSeqFinal = bestDnaSeq;
  48. finalSum = currentSum;
  49. bestDnaSeqIndex = bestDnaSeqIndexChecker;
  50. result = inputDna;
  51. finalDna = Dna;
  52. }
  53. else if (bestDnaSeq == bestDnaSeqFinal && bestDnaSeqIndexChecker < bestDnaSeqIndex)
  54. {
  55. bestDnaSeqIndex = bestDnaSeqIndexChecker;
  56. result = inputDna;
  57. finalDna = Dna;
  58. finalSum = currentSum;
  59. }
  60. else if (bestDnaSeq == bestDnaSeqFinal && bestDnaSeqIndexChecker == bestDnaSeqIndex && currentSum > finalSum)
  61. {
  62. finalSum = currentSum;
  63. result = inputDna;
  64. finalDna = Dna;
  65. }
  66. input = Console.ReadLine();
  67.  
  68. }
  69. Console.WriteLine($"Best DNA sample {finalDna} with sum: {finalSum}.");
  70. Console.WriteLine(string.Join(" ", result));
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement