• Sign Up
• Login
• API
• FAQ
• Tools
• Archive
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.
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!

Top