Advertisement
dxeqtr

Untitled

Mar 1st, 2021
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace JudgeDSA
  7. {
  8. class Program
  9. {
  10. static void Main()
  11. {
  12. int totalNumbers = int.Parse(Console.ReadLine());
  13. string[] numbersAsString = Console.ReadLine().Split();
  14. int[] numbers = new int[totalNumbers];
  15. Stack<int> jumps = new Stack<int>();
  16. int maxJumps = 0;
  17. int maxNumber = int.MinValue;
  18. for (int i = totalNumbers - 1; i >= 0; i--)
  19. {
  20. int currentJumps = 0;
  21. numbers[i] = int.Parse(numbersAsString[i]);
  22. int currentNumber = numbers[i];
  23. if (currentNumber > maxNumber) maxNumber = currentNumber;
  24. for (int j = i + 1; j < totalNumbers; j++)
  25. {
  26.  
  27. if (numbers[j] > currentNumber)
  28. {
  29. currentNumber = numbers[j];
  30. currentJumps++;
  31. if (numbers[j] == maxNumber)
  32. {
  33. break;
  34. }
  35. }
  36. }
  37. if (currentJumps > maxJumps)
  38. {
  39. maxJumps = currentJumps;
  40. }
  41. jumps.Push(currentJumps);
  42. }
  43. StringBuilder text = new StringBuilder(1048576);
  44. text.AppendLine($"{maxJumps}");
  45. int counter = 0;
  46. while (counter < totalNumbers)
  47. {
  48. text.Append($"{jumps.Pop()} ");
  49. counter++;
  50. }
  51. Console.WriteLine(text);
  52. }
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement