Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project6;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- const
- MAXIN = 1000000;
- var
- s: string;
- bol: array [0..MAXIN] of boolean;
- stack: array [0..MAXIN] of integer;
- head, i, time, ans, answer: integer;
- begin
- readln(s);
- head := 0;
- for i := 1 to length(s) do
- bol[i] := true;
- for i := 1 to length(s) do
- if (s[i] = '(') then
- begin
- inc(head);
- stack[head] := i;
- end
- else
- if (s[stack[head]] = '(') then
- dec(head)
- else
- bol[i] := false;
- for i := 1 to head do
- bol[stack[i]] := false;
- time := 0;
- ans := 0;
- answer := 0;
- for i := 1 to length(s) do
- if (s[i] = '(') then
- begin
- inc(head);
- stack[head] := i;
- end
- else
- if (head > 0) then
- dec(head)
- else
- bol[i] := false;
- if (ans = time) then
- inc(answer)
- else
- if (ans < time) then
- begin
- ans := time;
- answer := 1;
- end;
- if (ans = 0) then
- writeln('0 1')
- else
- writeln(ans, ' ', answer);
- //for i := 1 to length(s) do
- //writeln(bol[i]);
- readln;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement