Advertisement
Miki1337

Untitled

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