                       ⮬  .

                             1.
     祢 襭 ⮨  ᬮ ᥣ ᨢ,  -
 ६,  ய樮쭮  ⮢  ᨢ.  
   ᯮ ⮣ 䠪,   ᨢ A 㦥 -
஢, , ⭮, ਢ 襭   訬.
     訩 ⮤ ᪠ ⮨  ⮬,  ⮡ ஢, -
  x । ⮬ ᨢ A.  ᫨ ,  ⢥ 祭.
᫨ x  । ,     ਬ   -
⮤ ᪠  ஢ ᨢ ᫥  । -
;  筮,  ᫨ x  । ,   쭥襬
 㤥 ᬠਢ ࠢ  ᨢ.
      㤥  ,    A[0]=;  ⢥ 頥 
६ mid,   १ low  high ,  ᮮ⢥⢥,
  砫   ᬠਢ ᨢ.   稭-
  high-low=n-1  蠥   high-low>=-1.    
樨 横 稭 high-low 㬥蠥  ࠩ  
 ࠢ   ।騬 祭;  ⠪ ࠧ, 横 㤥
室   [log2 (n-1)]+2 ࠧ ( १ [] 砥
楫  ᫠,   log2 -    ᭮ 2). ⮬
,   ᫮ 襨 ⮤ ( 筮 -
뢠 ⮤ ⮬ - ..  "  ") (log n). -
  ,     ࠦ,  饥  ᪮ ᫥  
室 祣 ஬ ६ n -  ᬠਢ ⮫쪮 -
 ⢠ 権,   室 믮,  
饣 ᨢ.

Function BSearch(var A:input_array; x,n:integer): integer;
var low,high,mid: integer;
begin
   A[0]:=x;
   low:=1;
   high:=n;
  repeat
   mid:=(low+high) div 2;
   if low>high
   then mid:=0
   else if A[mid]<x
        then low:=mid+1
        else high:=mid-1;
  until (A[mid]=x);
   BSearch:=mid;
end;

                             2.
     ⥩訬 襭    ᬮ  ⮢ ᨢ 
宦 ॡ㥬   ⠭ 䠪,   ⠪
 .  祢,   ᫥ 砥 室 ᬮ
 ⮢ ᨢ.
        ⢥  ᮪  ⢮ 権,
ᯮ ᫥騩 䠪.
     ᬮਬ   A[1,m].   ᫥騥 樨:
  1. X = A[1,m].
      ⮬ 砥   .
  2. X < A[1,m].
      ⮬  砥   ,   ,  ࠢ X,  
⮫  ஬ M   .  ⮬  ࠭  -
᪮      M-⮣ ⮫.
  3. X > A[1,m].
      ⮬  砥   ,   ,  ࠢ X,  
ப  ஬ 1   .  ⮬   ࠭  -
᪮      1-⮩ ப.
      ࠧ,  ࠢ   蠣  祭  
 X  祭 ,  ᯮ  ࠢ 孥
㣫 饩  , 㬬୮ ᫮ ப  ⮫殢
饩   㬥蠥  1. ⮬ 㤮
⠪ ᪠  ॢ室 N+M.

                             5.
     ⥩訬 襭   ᬮ ⮢ i- ப 
i- ⮫,  i=1,2,...,N ( ப   ⮫    
ࠢ,   ᥪ   쭮 ) -
  宦  k, ⠪   k- ப  k-
⮫  㤮⢮ ॡ㥬 ᢮  ⠭ 䠪,
 ⠪  . 祢,   ᫥ 砥 室
ᬮ   ⮢ ᨢ.
       ⢥  ᮪  ⢮  権,
ᯮ ᫥騩 䠪.
     ᬮਬ  A[k,j], k<>j.  ᫥騥 樨:
   1. A[k,j] = 0.
      ⮬ 砥  ,    k  室,  ⠪
   ப  ᮬ k ⮨ 0.  ⮬  ࠭ -
᪮    ᨢ    k-  ⮫    k-
ப.
   2. A[k,j] = 1.
      ⮬ 砥  ,    j  室,  ⠪
  ⮫  ᮬ j ⮨ 1.  ⮬  ࠭ -
᪮        ᨢ   j- ⮫  j-
ப.
      ࠧ, ᬠਢ   蠣 祭 ⮢
A[k,j], ⠪  A[k,j]  ⮬ 饣  -
ᨢ,  ॡ ᬮ ஢ N-1   ⠭
⢥   k,  㤮⢮饣  ॡ㥬  ᢮.
⠫ ஢ ⮫쪮  ⮣ ⮫  ப.
     k:=1
      j  2  N
        ᫨ A[k,j] = 0
           k:=j
     ⠫ ஢ ⮫쪮  k-  ⮫    ப.
⮬ 㤮 ⠪ ᪠  ॢ室 3*N.

                             6.
     ⥩訬 襭   )    ᬮ  न
設 N-㣮쭨  ।, ᮢ  न  
  न⠬ 窨 (X,Y).  祢,   ⮬ 砥 -
室 ᬮ  ⮢ ᨢ.
       ⢥  ᮪  ⢮  権,
ᯮ ⮤ ⮬.
     ࠢ 砫 न ࢮ 設  室   न-
⠬ 窨 (X,Y).  ᫨  ᮢ,    襭.  
।  砫쭮  筮 祪 饣  -
室.  祢,  砫  ࠢ 2  N ᮮ⢥⢥. 
 ஬ 蠣  砫쭮  筮 祪 饣
  室  ࠢ f  l ᮮ⢥⢥.  ।  ।
窨 室 m=(f+l) div 2.
     ।塞 ⥯   窨 (X,Y)  窨  ᮬ f
⭮⥫쭮 אַ,  室饩 १ 窨  ᠬ  1    m.
 ᫥騥 樨:
     1. 窨    ஭  אַ.
      ⮬  砥      室  窨  -
ᮬ m  窨  ᮬ l. ⮬ ᫥ 饩 
窮  室     ᮬ m-1.  ⮬ -
 l:=m-1.
     2. 窨   ࠧ ஭  אַ.
      ⮬ 砥     室  窨    -
ᮬ f  窨  ᮬ m-1.  ⮬ ࢮ 饩 
窮  室     ᮬ m. ⮬ 
f:=m.
      稢,    饬  室  -
 ⮫쪮  窨,  ..  l-f=1.  ⠫ ஢ ⮫쪮 
न  ॡ㥬 ᢮⢮.

                             7.
     ⥩訬 襭  ᫥⥫쭮 । -
 窨 (X,Y) ⭮⥫쭮 ,  室饩 १ 窨 
न⠬   (A[i],1),(B[i],0)     (A[i+1],1),(B[i+1],0)  ᮮ-
⢥, i=1,...N-1.  ᫥騥 樨:
  1. 窠    ஭  .
       i:=i+1.
  2. 窠   ࠧ ஭  .
      ⮬  砥  饩   ࠯樥  筠
࠯  ᮬ i.

     ᫨    稢,    2  ,  
祢,   窠     ᪮ ࠯権.  -
 ஢ ⮫쪮  窨 (X,Y)  窨, 饩 -
   ( ࠢ) ᪮筮 ࠯樨,  ⭮⥫쭮 -
,  室饩 १ 窨  न⠬ (A[1],1),(B[1],0), 
। ᪮ ࠯樨.
        ⢥  ᮪  ⢮ 権,
ᯮ ⮤ ⮬.
     ।  砫쭮  筮 ஢ 饩
 ࠯樨.  祢,   砫   ࠢ  1    N+1  ᮮ-
⢥ (  ᪮筠  ࠯    1,  ࠢ -
N+1,  ࠯樨 -  2  N).
       ஬ 蠣  砫쭮  筮  -
஢ 饩  ࠯樨 ࠢ f  l ᮮ⢥⢥.  ।-
  ।  m=(f+l) div 2.
     ।塞 ⥯  窨 (X,Y)  窨,  饩 -
   ᪮筮 ࠯樨,⭮⥫쭮 אַ,  室-
饩 १ 窨  न⠬ (A[m],1),(B[m],0).
      ᫥騥 樨:
  1. 窨    ஭  אַ.
      ⮬ 砥    ࠯樨  ࠬ   m  
l.  ⮬ ᫥ 騬  ஬   
m. ⮬  l:=m.
  2. 窨   ࠧ ஭  אַ.
      ⮬ 砥    ࠯樨  ࠬ   f  
m.  ⮬    騬   ஬   
m+1. ⮬  f:=m+1.
      稢,  f=l.

                             8.
     㥬 楢 窨  १    浪  뢠.
᫨  ᪮쪮 楢 祪 १   न-
,  ᭠砫 믨襬   ,   砫묨 -
  १,     -  窨.   ⠪ ஢
室   窨 ࠭ ଠ,    
ࠢ   殬 १.
     ᬮਬ    ॠ権:
     ᨢ  A[1..2,1..2*N];  ᭠砫   祩 A[1,2i-1] 
A[1,2i] ᨬ न 砫   i- १,   祩
A[2,2i-1]    A[2,2i] - ᫠ +i  -i -- ਧ ⮣,   ᮮ-
騥 न  砫  殬 १ i. -
㥬  ⮫  ᨢ A  뢠 ⮢ ࢮ ப,  
᫨  ⮬ ᪮쪮 ⮢ ࢮ  ப  ࠢ  (  
ᮮ⢥騥 窨   न),  ᭠砫 -
뢠 砫 窨 १ (A[2,i]>0),   ⥬ -  
(A[2,2i-1]<0).
      ᨢ Pr[1..N],   ஬ 㤥 ࠭ -
  १, ᮤঠ  A[1,i]. ᫥ 砭 ࠡ
⬠ Pr[j]=1, ᫨ १ j ᮤন  A[1,i],  Pr[j]=0
. 砫 ᨢ Pr 㫥.
      ६ C ࠭ ⢮ १,  ᥪ-
  窥 A[1,i]. 砫 C=0.
     ஢,  ࠧ頥  窠 X  A[1,1]  -
 A[1,2*N]. ᫨ ,  뢮 ᮮ饭  ਭ 窨
᪮筮 ࢠ, ᫨  ,  㤥 ᬠਢ ᨢ
A ᫥ ࠢ  浪 뢠 ⮢.
    믮 ᫥饥 ᫮:
     ᨢ A  稫 
     ( ⥪ 窠 A[1,i] < X
       ⥪ 砫쭠 窠 १ A[1,i] = X)
   
      ᫨ A[1,i] - 砫쭠 窠 १,
      
        㢥 C  1 (砫   १  ஬
        A[2,i]),  ᢮ Pr[A[2,i]] 祭 1.
      ᫨ A[1,i] - 筠 窠 १,
      
         㬥 C  1 (१  ஬ -A[2,i] 稫),
          ᢮ Pr[-A[2,i]] 祭 0..
   _.
      멤  横,  ஢ਬ:
    ᫨ =0,    X     १筮 ࢠ (A[1,i-1],
A[1,i]),   X p C p.  १  -
  ⮢ ᨢ Pr.
   ᮪ ⮣ ࠣ ணࠬ:
    i:=1;
     (i<=2*N) 
         ((A[1,i]<X) 
          (A[1,i]=X)  (A[2,i]>0))
    
         ᫨ A[2,i]>0
          C:=C+1;
            Pr[A[2,i]:=1
            _
          C:=C-1;
               Pr[-A[2,i]:=0
               _
         i:=i+1;
    _
    ᫨ =0,
      X   १筮 ࢠ (A[1,i-1],A[1,i]),
     X p C p. ⠥   -
          १:
             i:=1  N 
                ᫨ Pr[i]=1
                  i

                             9.
     蠥 筮  8. 窨, ਭ騥 ᨬ-
    १  ᠬ ࠧ १ (१).  楢묨
窠 ⮣ १ ( १)   -  楢
窨  १. ᯮ ,   ६ C ࠭
⢮ १,  ᥪ  窥 A[1,i] -  १-
.

                             10.
     祢,    n ࠫ ᥫ   ࠩ  
 ᫮  ࢠ [1,n+1] .
     ⮬  襭 ⮨  ⮬,  ⢮ ᨢ  n
ᥫ,   ஬   ᮬ i 'ॣ',  諮  
᫮  祭 i.  ᫥ 'ॣ樨'  ⮢ ᫥-
⥫쭮 ⠫ ⮫쪮 ஢,   쭮 ᫮ 
'ॣ஢'.  (  ⢥  ਧ  'ॣ樨' ᫠ i
   i-  ᨢ 1.  ࢮ砫쭮   ᫠
 'ॣ஢' -   ᨢ ࠢ 0).
     ᫨  ᫠  1  n 'ॣ஢',    쭮
饥 ࠫ쭮 - n+1.

                             11.
     祢,      n ࠫ ᥫ  ࠩ 
 ᫮  ࢠ [1,n+1] .
     । 砫  a    b ண ࢠ ᮢ,
  .     ᬮ  ⠭-
,    ᫠  ࢠ [a,b]   ? -
뢠 䠪,    ᠭ  ᫠  ࠧ,    ।,
᪮쪮  ᥫ,  ᠭ  ,    騩 
ࢠ.   㣮 ஭,  㤭 । ⢮ -
ࠫ ᥫ  ࢠ [a,b] -  (b-a+1).
     ⮬  ⮨  ᫥饬.
     । 祭  砫   饣  ࢠ-
. 祢,  砫  ࠢ 1  N+1 ᮮ⢥⢥.
       ஬ 蠣 祭 砫   饣
 ࢠ ࠢ f  l ᮮ⢥⢥. ।  ।-
  ࢠ m=(f+l) div 2.
     ।塞 ⥯ ⢮ ⮢ k  ,   
ࢠ [f,m].
      ᫥騥 樨:
  1. ⢮ ⮢ k<m-f+1 .
      ⮬  砥    ࢠ  m  l,  ⠪ 
 ࢠ [f,m]    ᫮ .  ⮬  -
騬    ࢠ     [f,m].  ⮬ 
l:=m.
  2. ⢮ ⮢ k=m-f+1 .
      ⮬ 砥    ࢠ  f  m,  ⠪  
  ࢠ  [f,m]   ࠫ .  ⮬ -
騬  ࢠ    [m+1,l].  ⮬  
l:=m+1.
      稢,  f=l.

                             12.
     祢 襭   ᮧ  饣  㯮冷-
祭 ᨢ,  ᮤঠ饣   ᨢ,  宦
  64-⮣  稭 .
        ⢥  ᮪ 㤮,  ᯮ
⮬᪨ ᯮᮡ ᪠.
            ஢ । 砫 Ni 
 Ki  ⮢  ᨢ, ᬠਢ  
蠣 ⬠, i=1,2. ।  । ⮢ Si=(Ni+
+Ki)/2. ⭮,    ࢮ ⠯ N1=1,  K1=64, N2=1, K2=64, 
S1=32, S2=32. 稬  ।  ᨢ X  
     ࠢ  ।    ,   訩    ,
   .  ⭮,    ⮢,  । ,
    稭.   㣮 ஭, ⮫쪮 , -
騥 । । ⮬  㣮 ᨢ,    -
 .  ⮬    64- .  ⥫쭮  -
 ࢮ ᨢ  ࢮ    ⥫쭮 (ᥣ
32 )  ,  뢠  ⮬,  ⥯ -
室 ᪠ 32-  稭  । ⠢. -
  ,    ࠩ  63    (襭
  ,  騥 । ,)   .  ⮬ -
,  騥 ᫥ ,   ⮦ ,  ⠪   .
᫥ ⠪ ⢨  ᨢ ⠫  32 ,   ⮬
室  32-  稭 . 塞 ᠭ -
   묨 祭ﬨ 砫 Ni   Ki -
஢ ⮢  ᨢ  ᫥饬 ࠢ:
   ᫨  室  ࢮ ᨢ
            N1=S1+1; K2=S2
         N2=S2+1; K1=S1.
   稢,  ⠫     
ᨢ.  ⮬ 訩    㤥 ᪮.

                             13.
     祢 襭   ᮧ  饣  㯮冷-
祭 ᨢ,  ᮤঠ饣   ᨢ,  宦
  k-⮣  稭 .  ⮬ 砥 ॡ 浪
(1+2+...+an)*log(1+2+...+an) 権.
       ⢥  ᮪  㤮,  ᯮ
⮬᪨ ᯮᮡ ᪠.
         ஢ i । 砫 Ni   -
 Ki .  ।  । ⮢ Si=(Ni+Ki)
div 2. ᫨ S=S1+S2+... +SN.
       樨:
     1. S > k
     祢,   ᫨      । ।
⮢ (    j),       ⮢    -
ᠬ Sj,...,Kj    襭. ⮬  -
 Kj=Sj-1 (᫨ Kj>Nj).
     2. S < k
     祢,  ᫨  ᨬ   ।  ।
⮢  (      t),      ⮢  -
ᠬ Nt,...,St    襭. ⮬  -
 Nt=St+1 (᫨ Kt>Nt).
     3. S = k
     祢,      ⮬  砥      Kj=Sj  
Nt=St+1.
      稢,    砫 N[i]   K[i]
 㤮⢮ ᫮ K[i]<=N[i]   i.    ⮬
訩    ⮢    ᠬ  K[i]    㤥 ᪮ (᫨
K[i]=0,    ᬠਢ  㦭).

                             14.
      襭  筮 ⢫ ᬮ ⮢
ᨢ   , 䨪  稭:
    -  p ᨬ쭮 ᬮ७   ;
    - 祭 ᮢ i_0,j_0  ᨬ쭮   㬬,
      㤮⢮饩 ॡ㥬 ᫮.
    砭.  砫쭮 ⠯ p=1, i_0=1, j_0=2.
 ᬮ ।  i    ।:
   - ᨬ쭠  㬬      [i_0]+[j_0],   []+[i+1]   
     [i]+[i+1]  c  ⮬  ᮢ i_0,j_0  ᨬ쭮
      㬬;
   -  p ᨬ쭮 ᬮ७    (ࠢ-
      祭 []+[i]).   믮  i  2 
     m-1.
 稢,   砫 Ni    Ki  
ࠢ   i.

                             15.
    襭   ଠ⨪ ⥪ ᫥騬 -
ࠧ:
    ᬮ    ⠭  ,  ᯮ ਮ⥭
모    ⮤,  뤠 襭.   ⮬ 筮
 ⠥,   "  -  ",   ᫨
襭 祭,    ⮬ " ⢮७" ணࠬ  襭.
 ᪮쪮  "⢮७"  祭  䥪⨢?
    ਬ 襭 । ,    
ࠥ㣮쭮,  㭤⠫쭮  㪥,  ⠥ ,
     ᥣ  㢨,    ᫨ ᫥ 
 - 㬠,   १      
 ( ୮  ⮫쪮  ଠ⨪).   ਢ  ࠧ-
 室  襭   ⮩  ,     
   ࠭ ⠭ ⮤.
    ਢ ਬ ࠣ⮢ ணࠬ ᠭ   몥
᪠,  ⠪    ६ ,   -
஢ 몮 ணࠬ஢.  ,   ,
    ᪠,  ᬮ   ࠣ,  ᯮ
 ᨪ, ᪮ 몠,  ⠪ ਨ ࠪ-
   .
   ᨢ -  ᫥⥫쭮 ⨯ ⮢,  誮-
 ⬨᪮ 몥  ⠪ 뢠 ⠡楩.   ᫮
  A[1..N] 砥 ᨢ  N ⮢  ᠬ  1
 N.     div 砥    
楫  ⭮; ਬ 11 div 3 = 3.

                     ⮤ 0.  .
      饣   㯮冷祭 ᨢ.
    --------------------------------------------------------
    - ᫮ D,  ண   ᨢ  (-
,  D  㢥祭  1 ᨬ  ᨢ).
    ⮨   ᫥饬:    i-  蠣  뢠
᪮쪮 । ⮢ A[i+1], A[i+2], ..., A[N] ⠪, 祭
 ࠢ 祭  A[i].   ⠬ ᢠ-
 祭 D   쭥襬  ᬠਢ  . -
,    筮  ஢  ⮫쪮    A[1],  ...,
A[(N+1) div 2], ⠪  ⠢訥     -
騬.

   Max:=A[1];
   for i:=2 to n do      {  ᨬ쭮  ᨢ }
     if A[i] > Max
     then Max:=A[i];
   D:=Max+1;             { 室 ᫮ D, ண   ᨢ    }
   for i:=1 to (N+1) div 2 do   { ६  ⢥  襭 }
    begin                       {   ࢮ  ᨢ }
     Count:=1;
     if A[i]<>D                 { 뢠, ᪮쪮 ࠧ    }
     then                       { 砥 । ⠢        }
       for j:=i+1 to N do
         if A[i]=A[j]
         then
           begin
             Count:=Count+1; {  祭 稪 ⨢ }
                             {  ⮢                         }
             A[j]:=D;        {    祭 D   }
           end;
     if Count*2>N            { 騩? }
     then
       begin
        writeln('騩 ',A[i])   {  }
        Halt;                                  {  ⮯  }
       end
    end;
    writeln('饣  ');

        襬  砥  (   ᨢ
ࠧ),  믮 (N-1) + (N-2) + ...  +  [(N+1)/2]  権
ࠢ. ᫨  㬬 ⮩ ᬥ᪮ ணᨨ,
  稬 稭 浪 N*N.  筮  ⮬  砥  -
,  ।   ᫮ (N*N).
    ணࠬ᪮ 䮫쪫   㯮   "-
᪮ ⮤ 襭 ", 饩  ᫥饬:
   "᫨    ,    ,   ,  -
 室  -     ⮫  -
 ".
        ⮨ ᫥ ⮬ ஬ ᮢ  -
㯮冷  ⠪, ⮡   諨   -
, ᫥ 祣 ᬮ,  㬥  ᫮ ࠢ , -
⢥⢥, ᫮ ⬠?

                      ⮤ 1. ஢.
       饣   㯮冷祭 ᨢ.
     ------------------------------------------------------
   㥬 室 ᨢ  뢠,  ⥬ ᬮਬ
, 뢠 ᫮    ⮢.

 for i:=1 to N-1 do    {-------------------------------}
  for j:=2 to N do     {                               }
    if A[i]>A[j]       {   ஢  뢠    }
    then               {      ⮤ 쪠         }
      begin            {                               }
         tmp:=A[i];    {                               }
         A[i]:=A[j];   {                               }
         A[j]:=tmp     {                               }
      end;             {-------------------------------}

 Count:=1;             { ⢮  ⮢ }
 for i:=2 to N do
   if A[i]<>A[i-1]
   then if Count > N div 2
        then
         begin
          writeln('M騩  ',A[i-1]);  { ᯥ }
          Halt                                      {    ⮯     }
         end;
        else Count:=0   {    ᫥饣   }
   else Count:=Count+1; {  稪  ⥪饣  }
   
    饣    ࣠   㣮:
᫨  ஢ ᨢ  a[i]=a[i + N div 2],    
a[i] -- 騩.  ⮬ ⮣ 横 ᬮ ᨢ -
 ⠪:
 for i:=1 to (N+1) div 2 do
   if A[i]<>A[i + N div 2]
   then begin
          writeln('M騩  ',A[i]);  { ᯥ }
          Halt                                    {    ⮯     }
         end;
   writeln('饣  ');
        
   ஢ ⮤  쪠  ॡ  믮  浪 N*N
権 ࠢ      먣 ⭮⥫쭮 -
饣 ⬠.  ᯮ짮  䥪⨢ ஢-
 (ਬ, "ன", ., ਬ,  .  "
+   = ணࠬ") ॡ 浪 N*log N -
権 ࠢ.  ,  ୮,    , 祬 ॡ-
 ⠭  -   砥 㯮冷祭 ᫥-
⥫쭮, ⮣     ⮫쪮 騥 -
. ⮬, ⭮,     訬. -
⠥  襥 襭.
                               
        ⮤ 2. 設-ਥ஢ ਠ 襭.
        ------------------------------------------------
      㤥 ᯮ짮  筮 ।⠢ ᫠  
  ⥬᪮ .  ᯮ,   ᫠ 
設 ࠭  祩 .  祩  䨪஢-
 ᫮ ࠧ冷 ().   A - ᨢ  N  -
⮢,  ᫥⥫쭮,   ⮣ ᨢ A[i] c⮨
 8 . ਬ,  ᨢ 2,3,2,5,16  ।⠢-
  :
   00000010, 00000011, 00000010, 00000101, 00010000.
   ᬮਬ ᫥騩 :
    i-  蠣  (i=0,...,7,       ।⠢
᫠ )  ஢塞,   ᥫ :   i-  -
 0    i-  ࠢ 1. ⢮ ᥫ,  
i-  ࠢ 1, 稬 K.
   ஢  ஢ ᫥騬 ࠧ:
       for j:=1 to N do
         if A[j] and (1 shl i) <>0 then K:=K+1;
    1 shl i ⠢ 1  i-   ,  ⠫  
ࠢ 0  (  㬥  ࠢ     0  7).  ਬ,
1 shl 2 ନ ᫮ 00000100,  1 shl 4 -- 00010000.
    and  믮  ᪮ (⮢) 㬭 
ᥫ, ᮣ᭮ ਢ  ⠡ ࠢ:
                        A    B    A and B
                       -------------------
                        0    0       0
                        0    1       0
                        1    0       0
                        1    1       1
    ᪠ ᫥,     A[j] and (1 shl
i)   ᫥ A[j] 뤥塞 i- .  ਬ, ᫨ [i]  -
筮 ⥬ ।⠢   01011001,   i=4, 
     A[j] and (1 shl i) = 01011001 and 00010000 = 00010000,
⬥⨬ ⠪,  ᫨     ⮢ ।⠢ ᫠
⮨ 1,   ᫮ 㫥.
    ࠧ  K 砥 ⢮ ⮢ ᨢ,  -
 i-  ࠢ 1.
    ⬠  ⮨  ⮬,  ⮡ ନ஢ ᫮ C 
 襭,    i- 蠣  i-  㫥  
楩  ᨬ  祭 K.  祢,   ᫨ 2*K=N,
 饣  .  ᫨ 2*K>N, , ᫨ 騩
 ,  i-   ࠢ ,  ᫨
2*K<N -  .   ᫥ C ⠢塞  i-  0  1,   -
ᨬ  १ ࠢ ᥫ 2*K  N.
   ᫥ 8- 室  ⠥  ஢    室
 ᨢ,    ନ஢ ᫮ C 騬 -
⮬.
   ᬮਬ ᪮쪮 ਬ஢:
   
   ਬ 1. ᨢ A: 3,3,4,2,4,4,2,4.
     筮 ।⠢ ᫥⥫쭮  :
   00000011, 00000011, 00000100, 00000010, 00000100, 00000100,
   00000010, 00000100.
   
     i=0,    K=2,
           i=1,    K=4, 2*K=N, 饣  .
   
   ਬ 2. ᨢ A: 3,3,4,2,4,4,2,4,4.
     筮 ।⠢ ᫥⥫쭮  :
   00000011, 00000011, 00000100, 00000010, 00000100, 00000100,
   00000010, 00000100, 00000100.
   
    i=0,    K=2,   =00000000
          i=1,    K=4,   =00000000
          i=2,    K=5,   =00000100
          i=3,    K=0,   =00000100
          i=4,    K=0,   =00000100
          i=5,    K=0,   =00000100
          i=6,    K=0,   =00000100
          i=7,    K=0,   =00000100
   ॡ   ᬮ    ⮣,  ⮡  㡥,  
ନ஢  ⢨⥫쭮  騬.
   
   ਬ 3. ᨢ A: 2,2,3,4,3,4.
     筮 ।⠢ ᫥⥫쭮  :
   00000010, 00000010, 00000011, 00000100, 00000011, 00000100.
   
    i=0,    K=2,   =00000000
          i=1,    K=4,   =00000010
          i=2,    K=2,   =00000010
          i=3,    K=0,   =00000010
          i=4,    K=0,   =00000010
          i=5,    K=0,   =00000010
          i=6,    K=0,   =00000010
          i=7,    K=0,   =00000010
   ⥫ ᬮ  室  ᨢ    
㡥  ⮬,  ନ஢    -
騬.
               
                         騥 ᢥ.
                        -----------------
    쭥襬  ॡ ⠪  ,  ⥪.
⥪ 㤥 뢠 ᫥⥫쭮 ⮢, 㯮冷祭
 ६  㯫.  ᫥⥫쭮 㯭 ⮫쪮
     (設 ⥪).   ࠡ  ⥪ 室
㪠⥫ 設 ⥪.  ᭮ 樨  ⥪ ᫥騥:
"    ⥪"    "   ⥪" (祬 
᫥  ᥭ  ⥪ ⮢ -     -
設 ⥪). ⮬ ,  ⥪ --   ⨯ LIFO
- "Last In - First Out" - "᫥ 襫 -   襫".  
।⠢  ⥪    ணࠬ 筮 ᯮ 
ᨢ (  B), 㬥 ⮢ ண 稭 
.    ⮬  㫥   ᨢ ࠭  ࢮ
᢮   ᨢ (..  㢥祭  1  設
⥪). ᫨ ᨢ ,  㪠⥫ ࠢ 1 (B[0]=1).
      X    ⥪  ॠ 祭  - 
ࢮ ᢮  ( ண ࠭  B[0])  -
 X,  ᫥ 祣  ࢮ ᢮  㢥稢
 1:
   
     B[B[0]]:=x;         {   ⥪ }
     B[0]:=B[0]+1;       {  㪠⥫ }
   
   ᫨ 室   x  ⥪,   ᫥-
  ᥭ ⮢ (⢥,  ⮫쪮   ⮬  砥,
᫨ ⥪ ),   㪠⥫  ࢮ ᢮  㬥-
蠥  1:
   
     if B[0]<>1 { ᫨ ⥪   }
     then
       begin
         x:=B[B[0]];     {   }
         B[0]:=B[0]-1;   {  㪠⥫ }
       end;


                      ⮤ 3.  ᨢ.
                      ---------------------
    ᨢ-⥪ B. ࢮ砫쭮  .
    砥, ᫨ N - ⭮, N>1,   ,  饣
, ஢塞  室  ᨢ  ⮬,  -
   騬.  ᫨ ,   㬥蠥 N  1  ᢮
   ⭮ N.
   ।,  N - ⭮.  ࠢ A[1]   A[2].  ᫨  
ࠢ,       ⮢  ᨬ  ᨢ-⥪ B  ࢮ
᢮ ,   祣  . ⥬ ࠢ A[3] 
A[4].   , ᫨  ࠢ,    ⮢ 塞 
B,   ⨢ 砥 祣  . 塞   
,   ᬮਬ    ᨢ A.
   ⢥ত: ᫨  ᨢ A  騩 ,  
㤥  騬   ᨢ B.
    .    N=2*k    A  m ,  ⠢ 
ᮢ  ⮢.   ⮢  A
 ࠩ  k+1.  ⥫쭮,  ⮢, 
襤   B ⮢ N-2*m-(k+1)=k-2*m-1.  ⠪,
।  k  :
   m    ᮢ ⮢,
     k-2*m-1   饣   饣  -
⮢  
   k-m-(k-2*m-1)=m+1     ⮢.
 ,   ਢ  ८ࠧ,  -
騩  A  ⠪   B.
   , । ᫥騬 蠣 ⬠,  뫠 ᮤন
ᨢ B  ᨢ A, ᨢ B ⠥ .
     ᨢ A 塞 ᠭ  ⢨.
      殢  ᫥ । 蠣  ᨢ B  - ,
᫥⥫쭮,  室 ᨢ  뫮 饣 ,
  B 室  ⢥ ,  , ,
  騬.   楫 ஢ન  ன    ࠧ  
室 ᨢ  ⠥, ᪮쪮 ࠧ 騩  -
 ⠬  -  N/2 ࠧ  . 室 -
筮  室   ᨢ    ਬ ᫥饣
ᨢ: 2 2 3 4 3 4.
   業 ᫮ 饭  ⠬ 室 ᨢ:   -
  蠣 ⬠  ᮢ蠥 ᬮ  ⮢ ⥪饣
ᨢ. ᫨ ࠧ୮ ᨢ ⭠,   㬥蠥 
1,  ᫨  ⭠ -  .  ࠧ,  믮 -
  蠣 ⬠ ࠧ୮ ᨢ 㬥蠥  ࠩ-
  ,   饥 ᫮ 饭  ⠬  ᨢ  
㤥 ॢ  稭  2*(N  +  N/2 + N/4 + ...) = 4N (㬬,
  ᪮,  㬬 ᪮ ணᨨ  -
⥫ 1/2).   । ⮣,   ᠬ   祭
   騬,  ॡ      室  
室 ᨢ. ⮣, ᫮ 権  ॢ蠥 5*N.

   
                         ⮤ 4. ⥪.
                         --------------
     ⥪  㤥     ⥪ -
  ᫥饬 ࠢ:
   1)  ࢮ 蠣 頥  ⥪ A[1] .
   2)  i- 蠣, i=2, ..., N 塞 ᫥騥 ⢨:
           ᫨   ⥪ ,
                頥   A[i]
           
                  ᫨   A[i] ᮢ  ⮬
                         誥 ⥪
                      塞 A[i]  ⥪
                   㤠塞   誨 ⥪.

    ᫨ ⥪  ,     室  ᮢ騥  -
. ᫨    ᫥⥫쭮  騩 ,
   ⠭  ⥪ ᫥ N- 蠣 (騥  
    ᫥⥫쭮  N/2 ࠧ,     
믮 N 蠣 ⬠ "᮪"    ᥬ  ⠫묨
騬 ⠬).
     ஢ન ( 砥 ⮣ ⥪ ᫥ 믮  N-
蠣)      ⥪ 騬 (᫨  ⥪ -
  ,       ᮢ),    ᬠਢ
ᨢ     ࠧ   뢠,  ᪮쪮 ࠧ 砥 
ᨢ   ⥪. ᫨  ᫮  N/2,   -
  騩,    - 饣   ᫥-
⥫쭮 .

   砭.   砥   室 ᯮ짮-
 ⠪    ⥪,  ..   ,  ,
 ࠭  ᮢ騥 .   ⥪  (
)    ६ -   ࠭  (
࠭ ࠭  ⥪),   㣮 ६ 뢠  -
⢮ ७ ⮣ .  ⠪   㯨.
        ⠪:

        begin
          element:=A[1];       { ᢮ 砫 祭 }
          Count:=1;
          for i:=2 to N do
            if Count=0              { 稪 㫥? }
            then
               begin                {  }
                 element:=A[i];     {     }
                 Count:=1;          {                   }
               end
            else                    { ᫨ 稪 㫥 }
              if element=A[i]       {   ᮢ?   }
              then Count:=Count+1   { .   稪 }
              else Count:=Count-1;  { .  稪 }
          if Count=0
          then writeln(' 饣  ')
          else
            begin
              Count:=0;
              for i:=1 to n do      {  室 }
                if A[i]=element
                then Count:=Count+1;
              if Count*2>N
              then writeln('騩 ',element)
              else writeln('饣  ');
            end;
        end.

      ᯮᮡ    ᪠  ᨢ A  ,
㤮⢮騩 ⠪ ᫮:
    砥  A   N/2 ࠧ ( ।饩  -
஢       N/2 ࠧ).  -
 N ⠪ ⮢, 祢,   .
    砥 襯ਢ 㫨஢   த뢠 
 ᠬ ᫥⥫쭮 ⢨,   ࠭:  砥, ᫨
᫥ N- 蠣 ⥪  ,   ⠢訩     -
 ⥭⮬  ᪮,    ᬠਢ ᨢ  ࠧ,
뢠, ᪮쪮   ⠬ 砥.
    砥,  ᫨ ⥪ ,    ,  ॡ㥬
᢮ 㤮⢮  ,       ਭ
⨥    ࠢ  N-,  ᫥ 蠣.   ᮢ蠥 
 室  ᨢ,  뢠,  ᪮쪮 ࠧ   
  element  A[n]. ⥬   ஢ન:
   ᫨ ⢮  element   N/2,   element - ᪮-
  .  ᫨ ⢮  A[n]   N/2,   A[n] -
᪮ .

                           祭.
   ⠢ ⠡ ᫮⥩ ⬮, ।  -
 㫨஢ :
                            
                      
   -------------------------------------------------------------
   0.  㯮冷祭         N*N
   1.  㯮冷祭           ᨬ  ᯮᮡ ஢-
                                 N*log N  N*N
   2. 設-ਥ஢  *N,    ଠ ᫠
      ਠ
   3.  ᯮ짮     <=5*N
      ᨢ
   4.  ᯮ짮 ⥪   2*N

