рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдПрдХ рдмрд┐рдВрджреБ рдмрд╛рджрд▓ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдПрдХрд╛рдЧреНрд░рддрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореБрдЭреЗ рдПрдХ рдХрд╛рдо рдорд┐рд▓рд╛ - рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рджрд▓ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрд╡реЗрджрдирд╛ рдХрд╛ рд╕реНрдерд╛рдиред рдЗрд╕ рдмрд╛рд░ рд╕реНрдерд┐рддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереА:


рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдкрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди 0 рд╕реЗ 1 рддрдХ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо 5 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП 3 рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдПрдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрдиреАрдп рд╣реЛрдЧрд╛, рдФрд░ 4 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП 4 рдпрд╛ рдЕрдзрд┐рдХред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд░реАрдХреЛрдВ рдХреЛ рд╕рдВрджрд┐рдЧреНрдз рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдирд┐рдХрдЯрддрдо рдмрд┐рдВрджреБ рддрдХ рдХреА рджреВрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рднрд╛рд╡реА рдЦреЛрдЬ рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рднреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ: рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрд▓ рдЖрдХрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рдорд╛рдк 0.1 рдХреЗ рд╡реНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреЗрдВрдж рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдВрдЧреЗ, рдФрд░ рд╕рдлрд▓ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдХрд╛рд░ 0.003 рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ (рдПрди-рдЖрдпрд╛рдореА рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ!) рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкрд░ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рд╕рдВрдШрдирди рдХреЗ рдкрджреЛрдВ рд╕реЗ рдПрди-рдЖрдпрд╛рдореА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рдВрдШрдирди рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрдХрдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ, рдФрд░ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЧрд╛рдврд╝рд╛ рд╣реЛрдиреЗ рдХреЗ рдкрд░рдЬреАрд╡реА рдХреНрд╖реЗрддреНрд░ред

рдЬреЛ рд╡рд┐рдХрд▓реНрдк рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧрд╛, рд╡рд╣ рд╣реИ рдХреЗрдбреА рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧред рдпрджрд┐ рд╣рдо рдПрдХ рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдПрдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреНрд╖реЗрддреНрд░ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ (рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЪрдХреНрд░ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рд╣реИрдВ - x 1 , x 2 , ..., x k , x 1 , x 2 , ...), рдФрд░ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВред рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдВрдХ N рдХреЛ N рд╕реЗ рдХрдо K рдХрд╛ рдорд╛рди рдЪреБрдиреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, K = [sqrt (N)] рдпрд╛ K = [N 2/3 ]ред рд╣рдо рдХрдо рд╕реЗ рдХрдо K рдЕрдВрдХ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдЖрдпрддрди (рдпрд╛рдиреА, рдкреЗрдбрд╝ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЧрд╣рд░рд╛рдИ рдкрд░ рд╕реНрдерд┐рдд) рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдкрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕реЗ рдХрдИ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ, рддреЛ рдЙрд╕ рдмрд┐рдВрджреБ рдХреЛ рд▓реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд┐рдВрджреБ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕реЗ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ (рдЖрдЧреЗ рдкреЗрдбрд╝ рдиреАрдЪреЗ рдЬрд╛рдирд╛), рд╣рд░ рдмрд╛рд░ рдПрдХ рдЖрдзрд╛ рдЪреБрдирдирд╛ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╣реИрдВред рдЬрдм рд╣рдо рд╢реАрдЯ рдкрд░ рдкрд╣реБрдВрдЪреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд┐рдВрджреБ рдкрд░), рд╣рдо рдЗрд╕реЗ рдПрдХ рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рдВрдХреНрд╖реЗрдкрдг рдХреЗ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдпрд╛рдж рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╕рдВрдЧрддрд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛, рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдкрдг рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдПрдХ рдмрд┐рдВрджреБ рджреВрд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдЙрддреНрддрд░ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╣реЛрдВрдЧреЗ рдкрд░реНрдпрд╛рдкреНрддред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗрдбреА рдХреЗ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдорд╣рдВрдЧрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рд▓рдЧрддреА рд╣реИред рдореИрдВ рдкреНрд░рддрд┐ рдкреНрд╡рд╛рдЗрдВрдЯ 8 рдмрд╛рдЗрдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╕рдордп рдФрд░ рд╕реНрдореГрддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ kd рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд┐рдВрджреБ (x 1 , x 2 , ..., x k ) рд╣реИред рд╣рдо рдмрд╛рдЗрдирд░реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЗрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
x 1 = 0.x 11 x 12 x 13 ...
x 2 = 0.x 21 x 22 x 23 ...
x 3 = 0.x 31 x 32 x 33 ...
...

рдФрд░ рд╣рдо 64-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдмрдирд╛рдПрдВрдЧреЗ
P = x 11 x 21 ... x k1 x 12 ... x k2 ...

рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдкреЗрдбрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 64 рдХреА рдЧрд╣рд░рд╛рдИ рддрдХ рдкрде рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП P рдХреЛрдб рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкреЗрдбрд╝ рдХреЗ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЕрдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рджреЛ рдмрд┐рдВрджреБ P a рдФрд░ P b рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдЧрд╣рд░реЗ рдиреЛрдб рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рдВрд╢рдЬ рд╡реЗ рд╣реИрдВ: рдпрд╣ рд╕рдВрдЦреНрдпрд╛ P P a ^ b рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЙрдирдЬрд░реЛ рдмрд┐рдЯ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдФрд░ рдЗрд╕ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЯреБрдХрдбрд╝реЗ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╣рд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ:

рдЙрд╕ рд╕реНрддрд░ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдЬрд┐рд╕ рдкрд░ рдХрдо рд╕реЗ рдХрдо K рдЕрдВрдХ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдмрд┐рдВрджреБ рд╕реНрдерд┐рдд рд╣реИрдВ:
ulong mask=ulong.MaxValue; K--; for(int i=K;i<m_np;i++) mask=Math.Min(mask,m_Arr[i]^m_Arr[iK]); 

рдпрд╣рд╛рдБ m_Arr рдХреЛрдб рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, m_np рдЗрд╕рдореЗрдВ рднрд░реЗ рд╣реБрдП рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдорд╛рд╕реНрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдЪреНрдЪ рдмрд┐рдЯ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкрд╛рдпрд╛ рд╕реНрддрд░ рдкрд░ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЕрдВрдХ рд╣реЛрдВ (рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрдо рд╕реЗ рдХрдо K рд╣реИрдВ):
  mask=InvMask(mask); int ms=0,me=0; for(int i=0;i<m_np-K;i++){ ulong a=m_Arr[i]; int h=i+K; if(((a^m_Arr[h])&mask)==0){ while(h<m_np-1 && ((a^m_Arr[h+1])&mask)==0) h++; K=hi; ms=i; me=i=h; } } 

рдпрд╣рд╛рдБ InvMask (рдорд╛рд╕реНрдХ) рд╕рднреА рдмрд┐рдЯреНрд╕ рдореЗрдВ 1 рд╕реЗ рдпреБрдХреНрдд рдорд╛рд╕реНрдХ рдХреА рдЧрдгрдирд╛ рд╣реИ рдЬреЛ рдорд╛рд╕реНрдХ рдорд╛рд╕реНрдХ рдХреЗ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЧреИрд░-рд╢реВрдиреНрдп рдмрд┐рдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░рд┐рд╖реНрда рд╣реИрдВред рдпрд╣ рдПрдордПрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ - рд╡рд╛рдВрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдореБрдЭреЗ - рдЗрд╕рдХрд╛ рдЕрдВрддред

рдПрдХ рднрд╛рд░реА рд╡рдВрд╢рдЬ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ:

  int h=(ms+me)/2; ulong samp=m_Arr[h]; ulong cb=samp^m_Arr[ms],ce=samp^m_Arr[me]; if(cb>ce) { ms=h; ce=InvMask(ce); while(ms>0 && ((m_Arr[ms-1]^samp)&ce)==0) ms--; } else { me=h; cb=InvMask(cb); while(me<m_np-1 && ((m_Arr[me+1]^samp)&cb)==0) me++; } 


рдпрд╣рд╛рдВ рд╡рдВрд╢ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдПрдХ рд╕реНрддрд░ рдХрд╛ рд╣реЛред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрдХреНрд╖реЗрдкрдг рдХреА рдЦреЛрдЬ рдХрд╛ рдХрд╛рд░реНрдп рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдкреВрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо 100 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддрд╛ рд╣реИ, рд╕реНрд░реЛрдд (рд╕реА # рдореЗрдВ) рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕реВрддреНрд░реАрдХрд░рдг рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реАрдорд╛ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдореВрдиреЗ рдореЗрдВ рдорд╛рдк рдпреЛрдЬрдирд╛рдмрджреНрдз 16 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ "рдЕрдЪреНрдЫрд╛" рдорд╛рдк рдЕрдВрдд рдХреА рдУрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЫреЛрдЯреЗ рд╕рдВрд╢реЛрдзрди рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рд░рдгреА рдореЗрдВ рдЬрдЧрд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЕрдВрдХ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛрддреЗ рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдпрд▓ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд░рдгреА рдХреЛ рдЫрд╛рдВрдЯ рдФрд░ рдкрддрд▓рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЗрд╕рд╕реЗ рдореЛрдЯрд╛ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреАред

рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ - рдХрд╛рдо рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг (рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ, 10 ^ 5 рдФрд░ 10 ^ 7 рдЕрдВрдХ - рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдХрдИ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП)ред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрднреА рднреА рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдкрд╛рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рдФрд░ рдпрд╣ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╡рд┐рд╡реЗрдХрдкреВрд░реНрдг рд╣реИ, рдФрд░ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

















Source: https://habr.com/ru/post/In137652/


All Articles