Advertisement
Dennnhhhickk

Untitled

Nov 20th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. program Project6;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. const
  9. MAXIN = 1000000;
  10.  
  11. var
  12. s: string;
  13. bol: array [0..MAXIN] of boolean;
  14. stack: array [0..MAXIN] of integer;
  15. head, i, time, ans, answer: integer;
  16.  
  17. begin
  18. readln(s);
  19. head := 0;
  20.  
  21. for i := 1 to length(s) do
  22. bol[i] := true;
  23.  
  24. for i := 1 to length(s) do
  25. if (s[i] = '(') then
  26. begin
  27. inc(head);
  28. stack[head] := i;
  29. end
  30. else
  31. if (s[stack[head]] = '(') then
  32. dec(head)
  33. else
  34. bol[i] := false;
  35.  
  36. for i := 1 to head do
  37. bol[stack[i]] := false;
  38.  
  39. time := 0;
  40. ans := 0;
  41. answer := 0;
  42.  
  43. for i := 1 to length(s) do
  44. if (bol[i]) then
  45. inc(time)
  46. else
  47. if (ans < time) then
  48. begin
  49. ans := time;
  50. answer := 1;
  51. time := 0;
  52. end
  53. else
  54. if (time = ans) then
  55. begin
  56. inc(answer);
  57. time := 0;
  58. end;
  59.  
  60. if (ans = time) then
  61. inc(answer)
  62. else
  63. if (ans < time) then
  64. begin
  65. ans := time;
  66. answer := 1;
  67. end;
  68.  
  69. if (ans = 0) then
  70. writeln('0 1')
  71. else
  72. writeln(ans, ' ', answer);
  73.  
  74. //for i := 1 to length(s) do
  75. //writeln(bol[i]);
  76.  
  77. readln;
  78. readln;
  79. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement