Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Intro
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. int[] nums = Console.ReadLine()
  14. .Split(',')
  15. .Select(int.Parse)
  16. .ToArray();
  17.  
  18. var seqNums = new Dictionary<int, List<int>>();
  19.  
  20. for (int i = 0; i < nums.Length; i++)
  21. {
  22. int currentNum = nums[i];
  23. seqNums.Add(i, new List<int>() { currentNum });
  24.  
  25. int prevIndex = -1;
  26. int prevCount = -1;
  27.  
  28. for (int j = 0; j < i; j++)
  29. {
  30. int num = nums[j];
  31. int count = seqNums[j].Count;
  32.  
  33. if (num < currentNum && prevCount < count)
  34. {
  35. prevIndex = j;
  36. prevCount = count;
  37. }
  38. }
  39.  
  40. if (prevIndex >= 0)
  41. {
  42. seqNums[i].AddRange(seqNums[prevIndex]);
  43. }
  44. }
  45.  
  46. int maxSeqCount = seqNums.Max(s => s.Value.Count);
  47. var longestSeq = seqNums.First(s => s.Value.Count == maxSeqCount).Value;
  48. longestSeq.Reverse();
  49.  
  50. Console.WriteLine(string.Join(",", longestSeq));
  51. }
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement