Miki1337

Untitled

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