Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Do phuc tap O(n)
- var
- fi,fo:text;
- k,i,j,n,dem,max:longint;
- a: array [1..1000000] of longint;
- mark: array [1..500000] of longint;//Truong hop xau nhat max = 2
- begin
- assign(fi,'INPUT.INP');
- assign(fo,'OUTPUT.OUT');
- reset(fi);
- rewrite(fo);
- readln(fi,n);
- for i:=1 to n do
- read(fi,a[i]);
- i:=0;
- max:=0;
- while i<=(n-2) do
- begin
- inc(i);
- dem:=1;
- if (a[i] = a[i+1]) and (i < n) then //Tim truong hop thoa man
- while ( a[i] = a[i+1] ) and ( i<n ) do
- begin
- inc(i);
- dem:=dem+1;
- end;
- if dem>max then max:= dem;
- end;
- if max < 2 then //Max = 1 , Max=0 thi STOP
- begin
- write(fo,'KHONG TON TAI');
- close(fo);
- close(fi);
- exit;
- end;
- write(fo,Max);
- i:=0;
- j:=0;
- while i<=n-2 do
- begin
- inc(i);
- dem:=1;
- if (a[i] = a[i+1]) and (i < n) then
- while ( a[i] = a[i+1] ) and ( i<n ) do
- begin
- inc(i);
- dem:=dem+1;
- end;
- if dem=max then //Danh dau vi tri truong hop da thoa man
- begin
- inc(j);
- mark[j]:=i-max+1;
- end;
- end;
- writeln(fo);
- for k:=1 to j do
- begin
- for i:=mark[k] to mark[k]+max-1 do
- write(fo,a[i],' ');
- writeln(fo);
- end;
- close(fi);
- close(fo);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement