Timsort , рдХрд┐рд╕реА рднреА "рдмреБрд▓рдмреБрд▓реЗ" рдФрд░ "рдЖрд╡реЗрд╖рдг" рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдИ рдмрд╛рдд рд╣реИ - рдпрд╣ 2002 рдореЗрдВ рдЯрд┐рдо рдкреАрдЯрд░реНрд╕ (рдЙрдирдХреЗ рдирд╛рдо рдкрд░) рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддрдм рд╕реЗ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдпрдерди, рдУрдкрдирдЬреЗрдбрдХреЗ 7 рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдЬреЗрдбрдбреАрдХреЗ 1.5 рдореЗрдВ рдорд╛рдирдХ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдмрди рдЧрдпрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпреЛрдВ - рд╕рд┐рд░реНрдл рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдЗрд╕ рдкреНрд▓реЗрдЯ рдХреЛ рджреЗрдЦреЗрдВред

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡рд┐рд╢рд╛рд▓ рдЪрдпрди, рдФрд╕рдд рдФрд░ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреЗрд╡рд▓ 7 рдкрд░реНрдпрд╛рдкреНрдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рдЬрдЯрд┐рд▓рддрд╛
рдУ (рдПрди рд▓реЛрдЧрди) рдХреЗ рд╕рд╛рде) рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 2 рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛
рдУ (рдПрди) рдХрд╛ рджрд╛рд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ
рдПрдХ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ
рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз
"рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдпреВрдЬ рдмрд╛рдИрдирд░реА рдЯреНрд░реА" рд╣реИ ред рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рдПрдХ рд╣реА Timsort рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдХреНрд░рдордмрджреНрдз рдбреЗрдЯрд╛ рд╕рд░рдгреА рдореЗрдВ рдЕрдХреНрд╕рд░ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдЖрд░реЛрд╣реА рдпрд╛ рдЕрд╡рд░реЛрд╣реА) рд╕рдмрд░реЗрдЬрд╝ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдХреНрд╕рд░ рдорд╛рдорд▓рд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛ рдкрд░, Timsort рдЕрдиреНрдп рд╕рднреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╢реНрд░реЗрдб рдореЗрдВ рд░рд┐рдк рдХрд░рддрд╛ рд╣реИред
рд╕реАрдзреЗ рдореБрджреНрджреЗ рдкрд░
рдпрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ рдЧрдгрд┐рддреАрдп рдЦреЛрдЬреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, Timsort рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб, рдХрдИ рдЕрдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рд╡реА рд╕рдВрдпреЛрдЬрди рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡реА рд╣реИрдВред рдмрд╣реБрдд рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛, рд╣рдо рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдХреЛ рдЙрдк-рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рд╣рдо рдЖрд╡реЗрд╖рдг рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЫрдБрдЯрд╛рдИ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдмрд░реЗ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
- рд╣рдо рд╕рдВрд╢реЛрдзрд┐рдд рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХрд▓ рд╕рд░рдгреА рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рдЙрдк-рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред
рд╢реИрддрд╛рди, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЫреБрдкрд╛ рд╣реИ, рдкреИрд░рд╛ 1 рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдФрд░ рдЕрдиреБрдЪреНрдЫреЗрдж 3 рдХреЗ рдорд░реНрдЬ рдХреЗ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╕рдВрд╢реЛрдзрдиред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдкреНрд░рдпреБрдХреНрдд рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
- рдПрди - рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдЖрдХрд╛рд░
- рд░рди рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рдЖрджреЗрд╢рд┐рдд рд╕рдмрд░реЗ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрджреЗрд╢ рдпрд╛ рдЧреИрд░-рдЪрдврд╝рддреЗ рдЖрд░реЛрд╣реА, рдпрд╛ рд╕рдЦреНрддреА рд╕реЗ рдЙрддрд░рддреЗ рд╣реБрдПред рдпрд╣реА рд╣реИ, рдпрд╛ рддреЛ "a0 <= a1 <= a2 <= ...", рдпрд╛ "a0> a1> a2> ..."
- minrun - рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рдЗрдирдкреБрдЯ рдРрд░реЗ рдХреЛ рд╕рдмрд░реЗрдЬрд╝ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдорд┐рдирд░рди рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдмрд░реНрд░реЗ рдХрд╛ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ рд╣реИред рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ N рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ ред

рдЪрд░рдг 0. рдорд┐рдирд░рди рдХреА рдЧрдгрдирд╛ ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдЦреНрдпрд╛
minrun N рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА
рдЬрд╛рддреА рд╣реИ :
- рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдореНрдорд┐рд▓рди рдЫрдБрдЯрд╛рдИ рдХреЛ рдорд╛рдЗрдирд░рди рдЖрдХрд╛рд░ рдХреЗ рд╕рдмрд░реНрд░реЗ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧрд╛
- рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рд╕рдмрд░реНрд░реЗ рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдиреЗ рд╣реА рдорд░реНрдЬрд┐рдВрдЧ рд╕рдмрд░реЗрдЬрд╝ рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
- рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ N \ minrun 2 рдХреА рд╢рдХреНрддрд┐ рдереА (рдпрд╛ рдЗрд╕рдХреЗ рдХрд░реАрдм)ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдорд░реНрдЬрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рдЧрднрдЧ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреЗ рд╕рдмрд░реЗрдЬрд╝ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓реЗрдЦрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐
minrun > 256 рдмрд┐рдВрджреБ 1 рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
minrun <8 - рдмрд┐рдВрджреБ 2 рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд░реЗрдВрдЬ (32; 65) рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред рдЕрдкрд╡рд╛рдж рд╣реИ рдЕрдЧрд░
N <64, рддреЛ
minrun =
N рдФрд░ рдЯрд╛рдЗрдорд╕реЙрд░реНрдЯ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓,
рдорд┐рдирд░рди рдЧрдгрдирд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрд╕ рдЕрдкрдорд╛рдирдЬрдирдХ рд╣реИ: рд╣рдо
рдПрди рд╕реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг 6 рдмрд┐рдЯреНрд╕ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдпрджрд┐ рд╢реЗрд╖ рдХрдо рд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдиреЙрдирдЬрд░реЛ рд╣реЛред рдирдореВрдирд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
int GetMinrun(int n) { int r = 0; while (n >= 64) { r |= n & 1; n >>= 1; } return n + r; }
рдЪрд░рдг 1. рдЙрдкрдЧреНрд░рд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ред
рддреЛ, рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдирдкреБрдЯ рдРрд░реЗ, рдЙрд╕рдХрд╛ рдЖрдХрд╛рд░
N рдФрд░ рдкрд░рд┐рдХрд▓рд┐рдд рд╕рдВрдЦреНрдпрд╛
рдорд┐рдирд░рди рд╣реИ ред рдЗрд╕ рдЪрд░рдг рдХреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:
- рд╣рдордиреЗ рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХ рдХреЛ рд░рдЦрд╛ред
- рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╣рдо рд░рди рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдРрд░реЗ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ (рдПрдХ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдмрд░реНрд░реЗ)ред рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рд░рди рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдФрд░ рдЕрдЧрд▓рд╛ рдПрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдЧреЗ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИред рдпрджрд┐ рдкрд░рд┐рдгрд╛рдореА рд╕рдмрд░реНрд░реЗ рдХреЛ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рддрддреНрд╡реЛрдВ рдХреЛ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдПрдВ (рдпрд╣ рдПрдХ рд╕рд░рд▓ рд░реЗрдЦреАрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ, рдмрд╕ рджреЛрдиреЛрдВ рд╕рд┐рд░реЛрдВ рд╕реЗ рдордзреНрдп рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ, рддрддреНрд╡реЛрдВ рдХреА рдЕрджрд▓рд╛-рдмрджрд▓реА рдХрд░рддреЗ рд╣реИрдВ)ред
- рдпрджрд┐ рдЪрд╛рд▓реВ рд░рди рдХрд╛ рдЖрдХрд╛рд░ ' рдорд╛рдЗрдирд░рди рд╕реЗ рдХрдо рд╣реИ - рд╣рдо рдорд┐рдирд░рди рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░рди рдереНрд░реЗрдб (рдЖрдХрд╛рд░) рдХреЗ рдмрд╛рдж рдкрд╛рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣рдореЗрдВ рдЖрдХрд╛рд░ рдореАрдирд╛рд░ рдпрд╛ рдмрдбрд╝реЗ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ (рдФрд░ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм) рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╣рдо рдЗрд╕ рд╕рдмрд░реНрд░реЗ рдореЗрдВ рдЫрдВрдЯрдиреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЪреВрдБрдХрд┐ рд╕рдмрд░реНрд░реЗ рдХрд╛ рдЖрдХрд╛рд░ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд░рдордмрджреНрдз рд╣реЛрддрд╛ рд╣реИ - рдЫрдБрдЯрд╛рдИ рдЬрд▓реНрджреА рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рд╣рдордиреЗ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдореЗрдВ рд╕рдмрд░реНрд░реЗ рддрддреНрд╡ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦрд╛ред
- рдпрджрд┐ рдЗрдирдкреБрдЯ рдРрд░реЗ рдХрд╛ рдЕрдВрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ - рдЪрд░рдг 2 рдкрд░ рдЬрд╛рдПрдВ, рдЕрдиреНрдпрдерд╛ - рдЗрд╕ рдЪрд░рдг рдХрд╛ рдЕрдВрддред
рдЪрд░рдг 2. рд╡рд┐рд▓рдпред
рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдирдкреБрдЯ рдРрд░реЗ рд╣реИ, рдЬреЛ рд╕рдмрд░реЗрдЬрд╝ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдбреЗрдЯрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреЗ рдХрд░реАрдм рдерд╛ - рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП
рд╕рдмрд░реЗрдЬрд╝ рдХрд╛ рдЖрдХрд╛рд░
рдорд┐рдирд░рди рдХреЗ рдХрд░реАрдм рд╣реИ, рдпрджрд┐ рдбреЗрдЯрд╛ рдиреЗ рдкрд░реНрд╡рддрдорд╛рд▓рд╛ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ (рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрд╡реЗрджрди рдкрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд╛рд░рдг рд╣реИ) - рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП
рд╕рдмрд░реВрди рдорд┐рдирд░рди рд╕реЗ рдмрдбрд╝реЗ рд╣реИрдВред
рдЕрдм рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрджреЗрд╢рд┐рдд рд╕рд░рдгреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдПрд╕реЛрд╕рд┐рдПрд╢рди рдХреЗ рджреМрд░рд╛рди, 2 рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рд▓рдЧрднрдЧ рдмрд░рд╛рдмрд░ рдЖрдХрд╛рд░ (рдпрд╣ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ) рдХреА рдЙрдкрдорд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВред
- рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕реНрдерд┐рд░ рд░рдЦреЗрдВ - рдЕрд░реНрдерд╛рдд рдЕрд░реНрдерд╣реАрди рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рди рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рджреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рдорд░реВрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡реИрдк рди рдХрд░реЗрдВ)ред
рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреИрдХ рдмрдирд╛рдПрдВ <рд╕рдмрд░реНрд░реЗ рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕> - <рд╕рдмрд░реНрд░реЗ рдХрд╛ рдЖрдХрд╛рд░>ред рдкрд╣рд▓реЗ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рд╕рдмрд░реНрд░реЗ рд▓реЛред
- рд╕реНрдЯреИрдХ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдЬреЛрдбрд╝реА <рд╕реНрдЯрд╛рд░реНрдЯ рдЗрдВрдбреЗрдХреНрд╕> - <рдЖрдХрд╛рд░> рд╡рд░реНрддрдорд╛рди рд╕рдмрд░реНрд░реЗ рдХреЗ рд▓рд┐рдПред
- рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд┐рдЫрд▓реЗ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╕рдмрд░реНрд░реЗ рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, 2 рдирд┐рдпрдореЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ (рдПрдХреНрд╕, рд╡рд╛рдИ рдФрд░ рдЬреЗрдб рд╕реВрдХреНрд╖реНрдорддрд╛ рдХреЗ рдвреЗрд░ рдореЗрдВ рд╢реАрд░реНрд╖ рддреАрди рдХреЗ рдЖрдХрд╛рд░ рд╣реЛрдиреЗ рджреЗрдВ):
X> Y + Z
рдп> рдЬрд╝ - рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рдирд┐рдпрдо рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ Y рд╕рд░рдгреА X рдФрд░ Z рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдЫреЛрдЯреЗ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрд╣ рддрдм рддрдХ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рджреЛрдиреЛрдВ рдирд┐рдпрдо рдкреВрд░реЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдпрд╛ рдбреЗрдЯрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрджреЗрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
- рдпрджрд┐ рдЕрднреА рднреА рдЙрдк-рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдЧрд▓реЗ рдПрдХ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЪрд░рдг 2 рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рдЕрдВрддред
рдЗрд╕ рдореБрд╢реНрдХрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рдВрддреБрд▓рди рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред рдпрд╛рдиреА рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ рдореЗрдВ рд╕рдмрд░реЗрдЬрд╝ рдХрд╛ рдЖрдХрд╛рд░ рдЖрдЧреЗ рдорд░реНрдЬ рдХреА рдЫрдВрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд╣реИред рдПрдХ рдЖрджрд░реНрд╢ рдорд╛рдорд▓реЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдХрд╛рд░ 128, 64, 32, 16, 8, 4, 2, 2 рдХреА
рдЙрдк-рдкрд░рддреЗрдВ рд╣реИрдВ (рд╣рдо рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ "
рд╕рдмрд░реНрд░реЗ рдЖрдХрд╛рд░> =
рдорд╛рдЗрдирд░рди ")ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА рд╡рд┐рд▓рдп рдХреЛ рддрдм рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдЕрдВрддрд┐рдо 2 рд╕рдмрд░реЗрдЬрд╝ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж 7 рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреБрд▓рд┐рдд рд╡рд┐рд▓рдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рд╕рдмрд░реНрд░реЗ рдорд░реНрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рд╣рдо рджреЛ рд╕рдмрд░реЗрдЬ рдХреЛ рдПрдХ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдПрдХ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рд╣рдореЗрд╢рд╛ 2 рд▓рдЧрд╛рддрд╛рд░ рд╕рдмрд░реЗрдЬрд╝ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╣рдо рдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рд╕рдмрд░реЗрдЬрд╝ рдХреЗ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВред
- рдПрдХ рдЫреЛрдЯреЗ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕рдмрд░реЗрдЬрд╝ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ
- рд╣рдордиреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдПрдХ рдмрдбрд╝реЗ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡реЛрдВ рдкрд░ рд░рдЦрд╛ рд╣реИред
- рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдмрдбрд╝реЗ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡реЛрдВ рдХреЗ рдореВрд▓реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдЫреЛрдЯреЗ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирдП рдХреНрд░рдордмрджреНрдз рд╕рд░рдгреА рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрд╕ рд╕рд░рдгреА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рддрддреНрд╡ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рдЬрдм рддрдХ рдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдорд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдП рддрдм рддрдХ 4 рджреЛрд╣рд░рд╛рдПрдВред
- рд╢реЗрд╖ рд╕рд░рдгреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдирдП рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

рдорд░реНрдЬрд┐рдВрдЧ рд╕рдмрд░реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдВрд╢реЛрдзрди
рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдорд░реНрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕рд┐рд╡рд╛рдп рдПрдХ рдХреЗред рдРрд╕реА рджреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ:
A = {1, 2, 3, ..., 9999, 10000}
B = {20000, 20001, ...., 29999, 30000}
рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╛рдо рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдЗрд╕рдХреЗ рдЪреМрдереЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдкрд░ рдЖрдкрдХреЛ рдПрдХ рддреБрд▓рдирд╛ рдФрд░ рдПрдХ рдкреНрд░рддрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рд╡рд╣ 10,000 рддреБрд▓рдирд╛ рдФрд░ 10,000 рдкреНрд░рддрд┐рдпрд╛рдВред Timsort рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рдЬрдЧрд╣ рдореЗрдВ рдПрдХ рд╕рдВрд╢реЛрдзрди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рд╕рд░рдкрдЯ рдХрд╣рддрд╛ рд╣реИред рдиреАрдЪреЗ рдкрдВрдХреНрддрд┐ рд╣реИ:
- рд╣рдо рдорд░реНрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдпрд╛ рдмрдбрд╝реЗ рд╕рдмрд░реНрд░реЗ рд╕реЗ рдПрдХ рддрддреНрд╡ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рддрддреНрд╡ рдХреМрди рд╕рд╛ рдерд╛ред
- рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ (рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХрдареЛрд░рддрд╛ рд╕реЗ 7 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ) рдПрдХ рд╣реА рд╕рд░рдгреА рд╕реЗ рд▓реА рдЧрдИ рдереА - рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдбреЗрдЯрд╛ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд░рдкрдЯ рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддред рд╣рдо рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдХреЗ рдЕрдЧрд▓реЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдореНрдореАрджрд╡рд╛рд░ рдРрд░реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреМрдбрд╝реЗрдВрдЧреЗ (рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрд░реЗ рдХреЛ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдХрд╛ рд╣рд░ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ) рджреВрд╕рд░реЗ рдРрд░реЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдирд╛ рд╣реИред рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рд░реИрдЦрд┐рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЦреЛрдЬ рд╕рдВрдЪрд╛рд▓рди рдмрд╣реБрдд рдХрдо рд╣реЛрдЧрд╛ред
- рдЖрдЦрд┐рд░рдХрд╛рд░ рд╡рд╣ рдХреНрд╖рдг рдорд┐рд▓ рдЧрдпрд╛ рдЬрдм рдХрд░рдВрдЯ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдПрд░реЗ рд╕реЗ рдбреЗрдЯрд╛ рдЕрдм рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ (рдпрд╛ рдПрд░реЗ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪрдХрд░), рд╣рдо рдЖрдЦрд┐рд░рдХрд╛рд░ рдЙрди рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреЛ рдПрдХрд▓ рддрддреНрд╡реЛрдВ рдХреА рдирдХрд▓ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред
рд╢рд╛рдпрдж рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдереЛрдбрд╝рд╛ рдзреВрдорд┐рд▓ рд╣реИ, рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
A = {1, 2, 3, ..., 9999, 10000}
B = {20000, 20001, ...., 29999, 30000}
- рдкрд╣рд▓реЗ 7 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ, рд╣рдо рд╕рдВрдЦреНрдпрд╛ рдП , рд╕рдВрдЦреНрдпрд╛ 20,000 рд╕реЗ 1, 2, 3, 4, 5, 6 рдФрд░ 7 рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ 20,000 рдЕрдзрд┐рдХ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк A рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА A рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВред
- рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╣рдо "рд╕рд░рдкрдЯ" рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ: рд╣рдо 8, 10, 14, 22, 38, n + 2 ^ i ..., рддрддреНрд╡реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдП рдХреЗ 10000 рдП рдХреЗ рд╕рд╛рде 10000 рдП ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдРрд╕реА рддреБрд▓рдирд╛ 10,000 рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реЛрдЧреАред
- рд╣рдореЗрдВ рд╕рд░рдгреА A рдХреЗ рдЕрдВрдд рдореЗрдВ рдорд┐рд▓рд╛ рдФрд░ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ B рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ (рд╣рдо рдмреАрдЪ рдореЗрдВ рдХрд╣реАрдВ рд░реБрдХ рднреА рд╕рдХрддреЗ рд╣реИрдВ)ред рд╕рд░рдгреА рдП рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ, рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред
рд╡рд╣ рдкреВрд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИред
рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА