SHARE
TWEET

Substraightstring2.pas

finalshare Jul 26th, 2015 (edited) 23 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Do phuc tap O(n)
  2. var
  3.         fi,fo:text;
  4.         k,i,j,n,dem,max:longint;
  5.         a: array [1..1000000] of longint;
  6.         mark: array [1..500000] of longint;//Truong hop xau nhat max = 2
  7. begin
  8.         assign(fi,'INPUT.INP');
  9.         assign(fo,'OUTPUT.OUT');
  10.         reset(fi);
  11.         rewrite(fo);
  12.         readln(fi,n);
  13.         for i:=1 to n do
  14.         read(fi,a[i]);
  15.         i:=0;
  16.         max:=0;
  17.                 while i<=(n-2) do
  18.                 begin
  19.                         inc(i);
  20.                         dem:=1;
  21.                         if (a[i] = a[i+1]) and (i < n) then //Tim truong hop thoa man
  22.                                 while ( a[i] = a[i+1] ) and ( i<n ) do
  23.                                         begin
  24.                                                 inc(i);
  25.                                                 dem:=dem+1;
  26.                                         end;
  27.                         if dem>max then max:= dem;
  28.                 end;
  29.         if max < 2 then //Max = 1 , Max=0 thi STOP
  30.                 begin
  31.                         write(fo,'KHONG TON TAI');
  32.                         close(fo);
  33.                         close(fi);
  34.                         exit;
  35.                 end;
  36.         write(fo,Max);
  37.         i:=0;
  38.         j:=0;
  39.         while i<=n-2 do
  40.                 begin
  41.                         inc(i);
  42.                         dem:=1;
  43.                         if (a[i] = a[i+1]) and (i < n) then
  44.                                 while ( a[i] = a[i+1] ) and ( i<n ) do
  45.                                         begin
  46.                                                 inc(i);
  47.                                                 dem:=dem+1;
  48.                                         end;
  49.                         if dem=max then //Danh dau vi tri truong hop da thoa man
  50.                                 begin
  51.                                 inc(j);
  52.                                 mark[j]:=i-max+1;
  53.                                 end;
  54.                 end;
  55.         writeln(fo);
  56.         for k:=1 to j do
  57.                 begin
  58.                         for i:=mark[k] to mark[k]+max-1 do     
  59.                                 write(fo,a[i],' ');
  60.                         writeln(fo);
  61.                 end;
  62.         close(fi);
  63.         close(fo);
  64. end.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top