Fastware

рдЖрдВрджреНрд░реЗрдИ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗрд╕реНрдХреБ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рд┐рдд рдХрд┐рдВрд╡рджрдВрддреА рд╣реИред рдпрд╣ рдПрдХ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдФрд░ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ рд╣реИред рдЖрдзреБрдирд┐рдХ C ++ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдХреЛрдбрд┐рдВрдЧ рдорд╛рдирдХ 101 (рд╕рдЯрд░ рдХреЗ рдЕрд╕рд╛рдзрд╛рд░рдг рд╕реА ++ рдХреЛрдЯ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд┐рдд), рдФрд░ рдЕрдиреНрдп рдкреБрд╕реНрддрдХреЛрдВ рдФрд░ рд▓реЗрдЦреЛрдВ рдХреА рдЪрд░реНрдЪрд╛рдУрдВ рдореЗрдВ рдХрд┐рддрдиреА рдкреНрд░рддрд┐рдпрд╛рдВ рдЯреВрдЯ рдЧрдИрдВред рдбреА рднрд╛рд╖рд╛ рдХреЗ рд╕рд╣-рд▓реЗрдЦрдХ рдХреЗ рд░реВрдк рдореЗрдВ , рдЙрдирдХреЗ рдкрд╛рд╕ рди рдХреЗрд╡рд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдмрдирд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рдЕрдкрдиреЗ рд╕рдкрдиреЗ рдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА - рдФрд░ рдЬреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЙрд╕рдиреЗ рдЕрд╡рддрд╛рд░ рд▓рд┐рдпрд╛ ред

рдЕрдм рдЖрдк рдЙрдирдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ DotNext 2018 Piter рд╕рдореНрдореЗрд▓рди рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рд░рдЦ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдЖрдзреБрдирд┐рдХ рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреА рд╣реИред .NET рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рдпрд╣ рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдПрдХ рдореМрд▓рд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рджрд░реНрд╢рди рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рджреЗрдЦрдиреЗ (рдпрд╛ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!




рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреА рдХрд▓рд╛


рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред Amdahl рдХрд╛ рдирд┐рдпрдо рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХрд╛рдо рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред рдХрд╛рдиреВрди рд╕реНрд╡рдпрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИ: рдпрджрд┐ рдХреЛрдИ рдШрдЯрдХ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ 20% рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕реБрдзрд╛рд░ рдЬреЛ рдХреЗрд╡рд▓ рдЗрд╕ рдШрдЯрдХ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ 20% рд╣реИред рдмрд╣реБрдд рдмрд╛рд░ рдореБрдЭреЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рдардХ рдЙрдирд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ) рдЬреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдСрдкрд░реЗрд╢рди рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд╣рд▓реЗ 10 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рд▓реЛрдЧ рдЕрдкрдиреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЪрддреБрд░рд╛рдИ рд╕реЗ рдбрд░рддреЗ рд╣реИрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЕрдиреБрдХреВрд▓рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрд╡реЗрджрди рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдирд╛ рдФрд░ рдЙрд╕рдореЗрдВ рд╣реЙрдЯ рд╕реНрдкреЙрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд▓рджреНрджрд╛ рдХреЗ рдХрд╛рдиреВрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдирд╛рдо рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдореНрджрд▓, рдкреАрдЫреЗ рдХреА рдУрд░ рдкрдврд╝реЗрдВ)ред рдЖрдкрдХреЛ рдЙрд╕ рдШрдЯрдХ рдкрд░ рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдордп рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдирд┐рд╡реЗрд╢ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рдмрд╛рд░ 20% рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рджрд╕ 2% рд╕реБрдзрд╛рд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдФрд░ рдПрдХ рдмрдбрд╝реА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕реБрдзрд╛рд░ рдХреЛ рдорд╛рдкрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдШрдЯрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ 20% рд╕реБрдзрд╛рд░ рдХрд╛ рдЕрд░реНрде рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ 5% рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рдХрдИ рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЪрдпрдирд╛рддреНрдордХ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреА рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдЧрд▓рддреА рдЬреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рдардХ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдХрд╛рдлреА рдЖрдо рд╣реИ: рд▓реЛрдЧ рдбреАрдмрдЧрд┐рдВрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдЧрддрд┐ рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рджреМрдбрд╝ рдореЗрдВ рдШреЛрдВрдШреЗ рдХреА рдХрдо рдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг рдкрд░реЗрд╢рд╛рди рд╣реЛрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ: рдпрд╣ рдРрд╕реА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЬреАрд╡рди рдореЗрдВ рдЕрдиреНрдп рд▓рдХреНрд╖реНрдп рд╣реИрдВред рдПрдХ рдФрд░ рдЧрд▓рддреА, рдХреБрдЫ рд╣рдж рддрдХ рд╕реНрдкрд╖реНрдЯ рд╣реИ: рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореВрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдзрд╛рд░рднреВрдд рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЧрд░реНрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦреБрд▓реА рд╣реБрдИ рдлрд╛рдЗрд▓реЗрдВ рдмрдлрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд░рд╣рддреА рд╣реИрдВ (рдХрдо рд╕реЗ рдХрдо рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рджреВрд╕рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡рд▓ рддреЗрдЬреА рд╕реЗ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдХреЗ рдмрд╛рдж рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЙрд▓реЙрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрди рдХреЙрд▓реНрд╕ рдХреЗ рдмрд╛рдж, рдореЗрдореЛрд░реА рд░рд┐рд▓реАрдЬрд╝ рдХреЙрд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рднреА рд╕рд┐рд╕реНрдЯрдо рдЕрдкрдиреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрдВрддрд░рд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдХреИрд╢рд┐рдВрдЧ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореИрд▓реЛрдХреЛ рдХреЙрд▓ рдХреЛ рдЕрдзрд┐рдХ рддреЗрдЬреА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреИрд╢ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛, рдореЙрд▓реЙрдХ рдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдХрдИ рдмрд╛рд░ 4 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЛ 4 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдХреЗ рддрддреНрд╡ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрдлреНрдд рд╕реВрдЪреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг: DNS рд▓реБрдХрдЕрдк рдХреЛ рдкрд╣рд▓реЗ рдХреНрд╡реЗрд░реА рдХреЗ рдмрд╛рдж рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХреЛ рд╢реБрд░реВ рд╕реЗ рдЕрдВрдд рддрдХ рд╣рд░ рдмрд╛рд░ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдбрд┐рд╕реНрдХ рдкрд░ рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж, рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдСрдкрд░реЗрд╢рди рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

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



рдпрд╣рд╛рдВ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдЦрдХ рдЕрдХреНрд╕рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ `is_sorted 'рдлрд╝рдВрдХреНрд╢рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ` рд╕реЙрд░реНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИред рдлрд┐рд░ рдХреНрдпреЛрдВ 'рдореЗрдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ' рдЕрдЧрд░ is_sorted рд░рд┐рдЯрд░реНрди рд╣реИ? рдЖрдк рдПрдХ рдЕрддреНрдпрдВрдд рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЗ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛, рдФрд░ рдмрд╛рдХреА рд╕рднреА рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЧреИрд░-рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддрддреНрд╡ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХреА рд▓рд╛рдЧрддреЛрдВ рдХреЛ рд╡рд╣рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред

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

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

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

рдПрдХ рдФрд░ рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЧреБрдгрди рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдФрд░ рдЧреБрдгрди рдХреЗ рд▓рд┐рдП рдЧреБрдгрди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВред рдлрд┐рд░, рдЧрдгрд┐рдд рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧреА рд╣реИред

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

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ: рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд╢реЛрд░ рд╣рдореЗрд╢рд╛ additive рд╣реИ; рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдорд╣рддреНрд╡рд╣реАрди рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдЗрдХреНрд░реЛрдмреЗрдирдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдорд╛рдзреНрдп рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢реЛрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред рдФрд╕рдд рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЙрд╕ рд╕рдордп рдХреЛ рдорд╛рдкреЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо рдЧрдгрд┐рдд рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдореВрд▓реНрдп рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдорд╛рдкреЛрдВ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдореЙрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рддреБрд░рдВрдд рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдк рдХреНрд╡рд┐рдХреЙрд░реНрдЯ рдореЙрдб рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдпрджрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рдВрднрд╛рд╡реНрдп рд╣реИ рдпрд╛ рдпрджрд┐ рдбреЗрдЯрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ, рддреЛ рд▓рдЧрднрдЧ рдХрднреА рднреА рдПрдХ рдлреИрд╢рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рднрд░ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдШрдирддреНрд╡ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдорд╛рдк рдХреЗ 5% рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдФрд╕рдд рдореВрд▓реНрдп рд▓реЗрддреЗ рд╣реИрдВ - рдпрд╛ рдЕрдзрд┐рдХрддрдо, рдмрд╛рдж рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЫрдд рд╣реЛрдЧреА рдЬреЛ 95% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рдкреБрд░рд╛рдиреЗ рдмреЗрд╕рдореЗрдВрдЯ рдореЗрдВ рдХреЛрдИ рдПрдХ рд╡рд┐рд╖рдп рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдзреАрдорд╛ рдореЙрдбреЗрдо рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдПрдХ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рд╣реЛрдЧрд╛ред рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдорд╛рдирд╡, рд╣рдо, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕рднреА рдХреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рдЗрд╕рд▓рд┐рдП, рд╢реЗрд╖ 5% рдорд╛рдорд▓реЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЕрдХреНрд╕рд░ 95 рд╡реЗрдВ рдкреНрд░рддрд┐рд╢рдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ 100 рд╡реЗрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕реМрд╡реЗрдВ рдкреНрд░рддрд┐рд╢рддрдХ рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рд╕рднреА рдПрдХрддреНрд░рд┐рдд рдорд╛рдкреЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдзреАрдорд╛ рдкрд░рд┐рдгрд╛рдо - рдпрд╣ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдЕрдВрдХрдЧрдгрд┐рдд рд╕реЗ рдмрджрд▓реЗрдВ


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

рдЖрдЗрдП рдирд┐рдореНрди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрддреБрд░реНрдерд╛рдВрд╢ рдХреЗ рдЪрдврд╝рд╛рд╡ рдХреЛ рдкрд╣рд▓реЗ рдЪрддреБрд░реНрдердХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рд░рдгреА рдХреЛ рдЪрд╛рд░ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдХреЗ рдиреНрдпреВрдирддрдо рдореВрд▓реНрдп рдХреЛ рд╕рд░рдгреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

static void min4(double[] p) { int n = p.Length; int i = 0, j = n / 4, k = n / 2, l = 3 * n / 4; for (; i < n / 4; ++i, ++j, ++k, ++l) { int m = p[i] <= p[j] ? i : j; if (p[k] < p[m]) m = k; if (p[l] < p[m]) m = l; Swap(ref p[i], ref p[m]); } } 

рдКрдкрд░ рдореВрд▓ рдХреЛрдб рд╣реИред рд╡реИрд╕реЗ, рдореИрдВ рдЧрд░реНрд╡ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ C # рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛, рдФрд░ рд╡реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рд╣реИрдВред рдХреЛрдб рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: `m рдХреЛ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рд╕реНрдерд┐рдд рджреЛ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ` i рдФрд░ `j, рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рдорд╛рди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЛ рджреЛ рдФрд░ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдп рджреЛ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ `m рдкрд░ рдорд╛рди рдХреЛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдореЗрдВ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдореЗрдВ рдЙрд▓рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЪрд╛рд░ рдЖрдЧрдордирд╛рддреНрдордХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░рдгреА рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

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

рдЖрдЗрдП рдЙрд╕ рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рд╣рдореЗрдВ рдЕрднреА рдорд┐рд▓рд╛ рд╣реИред

 static void min4(double[] p) { int q = p.Length / 4; int i = 0, j = n / 4, k = n / 2, l = 3 * n / 4; for (; i < q; ++i, ++j, ++k, ++l) { int m = p[i] <= p[j] ? i : j; if (p[k] < p[m]) m = k; if (p[l] < p[m]) m = l; Swap(ref p[i], ref p[m]); } } 

рдкрд╣рд▓реЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрддреНрдпрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд▓реВрдк рд╕реЗ рдХрдИ рдбрд┐рд╡реАрдЬрди рдСрдкрд░реЗрд╢рди рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ - `рдПрди рдХреЛ 2 рдФрд░ 4 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдФрд░ 3 *` рдПрди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ 4. рд▓реЗрдХрд┐рди рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереЗ рд╣рдореЗрдВ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛: рдХреЛрдб рддреЗрдЬреА рд╕реЗ рдирд╣реАрдВ рдмрдиреЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реЛрдЧрд╛ред рд╕рд░реНрд╡реЛрддреНрддрдо рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдЖрдзрд╛ рдкреНрд░рддрд┐рд╢рдд рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред

 static void min4(double[] p) { int q = p.Length / 4; int i = 0, j = q, k = 2 * q, l = 3 * q; for (; i < q; ++i, ++j, ++k, ++l) { int m0 = p[i] <= p[j] ? i : j; int m1 = p[k] <= p[l] ? k : l; Swap(ref p[i], ref p[p[m0] <= p[m1] ? m0 : m1]); } } 

рджреВрд╕рд░рд╛ рдмрджрд▓рд╛рд╡ рдЬреЛ рд╣рдо рдХреЛрдб рдореЗрдВ рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ рдирд┐рд░реНрднрд░рддрд╛ рдХрдо рдХрд░рдирд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, `m to` k рдпрд╛` l рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдКрдкрд░ рджрд┐рдП рдЧрдП `m рд▓рд╛рдЗрди 'рдХреЛ рджрд┐рдП рдЧрдП рдорд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред `рдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрд▓рдЧ рд╕реЗ` m0 рдФрд░ `m1 рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛, рддреЛ рдореИрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЧрддрд┐ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдпрд╣ рд╢реВрдиреНрдп рд╣реЛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдиреНрдпреВрдирддрдо рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреЛрдб рдХреЛ рдмрдЪрд╛ рд▓рд┐рдпрд╛ред

 static void min4(double[] p) { int q = p.Length / 4; for (int i = 0; i < q; ++i) { int m0 = p[i] <= p[i + q] ? i : i + q; int m1 = p[i + 2 * q] <= p[i + 3 * q] ? i + 2 * q : i + 3 * q; Swap(ref p[i], ref p[p[m0] <= p[m1] ? m0 : m1]); } } 

рдЖрдЗрдП рдЕрдм рд╣рдо рдЪрд╛рд░ рд╕реЗ рдПрдХ рддрдХ рдЖрдЧрдордирд╛рддреНрдордХ рдЪрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рд╢реЗрд╖ рддреАрди рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рд╕рдВрдмрдВрдз рдореЗрдВ рд╣реИрдВред рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: `k рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рджреЛ рдЪрд░ -` i + 2 * q рдФрд░ `i + 3 * q рдХреЗ рдмрдЬрд╛рдп` i + q рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рднреА рдЙрдЪреНрдЪ рдЙрдореНрдореАрджреЗрдВ рдереАрдВ, рд▓реЗрдХрд┐рди, рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреА рддрд░рд╣, рдЗрд╕рдиреЗ рд╕рдордп рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ред рдпрд╣ рдлрд┐рд░ рд╕реЗ рдорд╛рдк рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдЙрдирдХреЗ рдмрд┐рдирд╛ рдореИрдВ рджрд╛рд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрд░реНрдХ рд╣реЛрдВрдЧреЗред

 static void min4(double[] p) { int q = p.Length / 4, q2 = q + q; for (int i = q; i < q2: ++i) { int m0 = p[i - q] < p[i] ? i - q : i; int m1 = p[i + q2] < p[i + q] ? i + q2 ? i + q; Swap(ref p[i - q], ref p[p[m0] <= p[m1] ? m0 : m1]); } } 

рдЪреМрдереЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо 3 рд╕реЗ рдЧреБрдгрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдХреНрд░ рдХрд╛ рдкреБрдирд░реНрдЧрдарди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ 3% рдХрд╛ рд╕реБрдзрд╛рд░ рджреЗрдЧрд╛ред рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░реЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

 // Returns: value if flag is true, 0 otherwise static int optional(bool flag, int value) { return -Convert.ToInt32(flag) & value; } 

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдирдП рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - `рд╕реНрдерд┐рд░ рдЗрдВрдЯ рд╡реИрдХрд▓реНрдкрд┐рдХ (рдмреВрд▓ рдлреНрд▓реИрдЧ, рдЗрдВрдЯ рд╡реИрд▓реНрдпреВ)ред рдпрд╣ рдЗрдирдкреБрдЯ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреЛ Int32 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, -1 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ рдЗрдирдкреБрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдФрд░ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдкрд╛рд╕ рднреЗрдЬрддрд╛ рд╣реИред рдпрджрд┐ рдЗрдирдкреБрдЯ рдзреНрд╡рдЬ рдЧрд▓рдд рдерд╛, рддреЛ int32 рдореЗрдВ рдпрд╣ 0 рд╣реЛрдЧрд╛, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╕рднреА рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рднреА рд╣рдореЗрдВ 0. рдорд┐рд▓реЗрдЧрд╛ред рдпрджрд┐ рдЗрдирдкреБрдЯ рдзреНрд╡рдЬ рд╕рд╣реА рдерд╛, рддреЛ int32 рдореЗрдВ рдпрд╣ 1 рд╣реЛрдЧрд╛, рдЬрдм -1 рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо FFFFFITF рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдмрд┐рдЯ рдХреЗ рдмрд╛рдж "рдФрд░" рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдпрд╣ рджреВрд╕рд░рд╛ рдирдВрдмрд░ рджреЗрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдХрд╣реАрдВ рднреА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреЛрдб рдмрд┐рдирд╛ рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдХреЗ рд╣реИ, рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдмрд╛рдК рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ)ред

 static void min4(double[] p) { int q = p.Length / 4, q2 = q + q; for (int i = q; i < q2; ++i) { int m0 = i - optional(p[i - q] <= p[i], q); int m1 = i + q + optional(p[i + q2] < p[i + q], q); Swap(ref p[i - q], ref p[p[m0] <= p[m1] ? m0 : m1]); } } 

рд╣рдо рдЗрд╕ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдЬрдЧрд╣ рд▓реЗрдВрдЧреЗ, рд╣рдо рдЗрд╕реЗ рдЧрдгрдирд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХреАрдХреГрдд рдХрд░реЗрдВрдЧреЗред рд╣рдо рдЗрд╕реЗ рджреЛ рдмрд╛рд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддреАрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рдЪрдХреНрд░ рдореЗрдВ рдЪрд╛рд░ рдЬрд╛рдВрдЪреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╣реЛрдЧрд╛ред



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

 static void min4(double[] p) { int q = p.Length / 4, q2 = q + q; for (int i = 0; i < q; ++i) { int m = i + optional(p[i + q] < p[i], q); m += optional(p[i + q2] < p[m], q); m += optional(p[i + q2 + q] < p[m], q); Swap(ref p[i], ref p[m]); } } 

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

 // Returns: v1 if flag is true, v2 otherwise static int ifelse(bool flag, int v1, int v2) { return (-Convert.ToInt32(flag) & v1) | ((Convert.ToInt32(flag) - 1) & v2); } 

рдПрдХ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд╡рд╣ рд╣реИ I рдмрд┐рдирд╛ рд╢рд╛рдЦрд╛рдУрдВ рд╡рд╛рд▓реА рдЗрдлреЗрд▓, рдЬреЛ рдЕрдм рдЖрдк рд╕реНрдХреНрд░реАрди рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВред рд╕рдЪ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдпрджрд┐ 0 рдХреЛ рдзреНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ 0 рд╣реЛрдЧреА; рджреВрд╕рд░реЗ рдореЗрдВ, рд╣рдо рдЗрдВрдЯ 1 рдореЗрдВ 0 рд╕реЗ 1 рдШрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдлрдПрдлрдПрдлрдПрдлрдПрдлрдПрдлрдПрдл рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╛рди рдмрд┐рдЯрд╡рд╛рдЗрдЬ "рдПрдВрдб" рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ `v2 'рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рд╣рдореЗрдВ рдпрд╣ рддрд░реНрдХ рджреЗрдЧрд╛; рдЕрдВрдд рдореЗрдВ, рдкрд╣рд▓реА рдФрд░ рджреВрд╕рд░реА рд▓рд╛рдЗрдиреЗрдВ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ "OR" рдХреЛ рдкрд╛рд╕ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдлрд┐рд░ рд╕реЗ рд╣рдореЗрдВ `v2 'рджреЗрдЧреАред рдпрджрд┐ рдзреНрд╡рдЬ 1 рд╣реИ, рддреЛ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ `v1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА; рджреВрд╕рд░реЗ рдореЗрдВ, рд╣рдо 1 рдХреЛ 1 рд╕реЗ рдШрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ 0 рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреВрд░реА рд░реЗрдЦрд╛ 0 рд╣реЛрдЧреА, рдФрд░ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ '0' рдореЗрдВ `0 'рдФрд░` v1 рджреЗрдВрдЧреЗред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ `ifelse рдмрд┐рдирд╛ рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдлрдВрдХреНрд╢рди рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдЬреЛ рдмреИрдХрдПрдВрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдлрд┐рд▓рд╣рд╛рд▓, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдзреБрдирд┐рдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрдк рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рдВрдХрд▓рдХ рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдордЭреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рдВрдХрд▓рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЪрд╛рд▓рд╛рдХ рдФрд░ рд░рдЪрдирд╛рддреНрдордХ рд╣реИрдВред

рдмрдбрд╝рд╛ рд╕реЗрдЯ рдЪреМрд░рд╛рд╣рд╛


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

 int Intersect(double[] a1, double[] a2, double[] t) { if (a1.Length == 0 || a2.Length == 0) return 0; int i1 = 0, i2 = 0, i = 0; for (;;) if (a1[i1] < a2[i2]) { if (++i1 == a1.Length) break; } else if (a2[i2] < a1[i1]) { if (++i2 == a2.Length) break; } else { t[i++] = a1[i1]; if (++i1 == a1.Length || ++i2 == a2.Length) break: } return i; } 

рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдпрджрд┐ рджреЛрдиреЛрдВ рдЗрдирдкреБрдЯ рд╕реЗрдЯ рдЦрд╛рд▓реА рд╣реИрдВ, рддреЛ, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рдо 0. рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рдЕрдирдВрдд рд▓реВрдк рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ, рдпрджрд┐ рдХреЛрдИ рдореИрдЪ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо 1 рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЪрдХреНрд░ рдкреВрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдИ рднреА рдХрдерди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд▓реВрдк рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдоред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЬреЛ рдЖрдк рд╕реНрд▓рд╛рдЗрдб рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рдкрд╣рд▓реА рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ `if (a1 [i1] <a2 [i2]) рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж` 1 рд╕реЗ `1 рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╣рдо рдХреЗрд╡рд▓` i1 рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, рджреВрд╕рд░реА рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣рдореЗрдВ рдХреЗрд╡рд▓ `i2 'рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реИред рджреЛрдиреЛрдВ рдорд╛рдиреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рддреАрд╕рд░реА рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рдпрд╣ рдЬрд╛рдВрдЪ рдЪрдХреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реЛрддреА, рддреЛ рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рддреЗред

рдЖрдЗрдП рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдлрд┐рд▓рд╣рд╛рд▓, рдЗрд╕рдХреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬрдЯрд┐рд▓рддрд╛ рджреЛ рдЗрдирдкреБрдЯ рддрд░реНрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реИрдЦрд┐рдХ рд╣реИред рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ, рдЕрдХреНрд╕рд░ рдПрдХ рд╕реЗрдЯ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдЦреЛрдЬрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдЖрдХрд╛рд░ рдпрд╛ рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд▓рдВрдмрд╛ рдЗрдирдкреБрдЯ рд╡реЗрдХреНрдЯрд░ рдФрд░ рдПрдХ рдЫреЛрдЯреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡реЗрдХреНрдЯрд░ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдЖрдк рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ, `a1 рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рд░рд┐рдХреЙрд░реНрдб рдФрд░` a2 рдореЗрдВ рдПрдХ рд╣рдЬрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЦ рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рднрд╛рд░ рдХреЛрдб рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдкрд░ рд╣реЛрдЧрд╛: `if (++ i1 == a1.length) рдмреНрд░реЗрдХред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рддреБрд▓рдирд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдореВрд▓реНрдп рдХрд╛ рдПрдХ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИ; рдпрд╣, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ рд░реИрдЦрд┐рдХ рдЦреЛрдЬ рд╣реИред рд╣рдо рдПрдХ рд▓рдШреБ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдПрдХ рд▓рдВрдмреЗ рд╡реЗрдХреНрдЯрд░ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо рдРрд╕реА рдХрдИ рдЦреЛрдЬреЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗрдВрдЧреЗ, рдЬреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреАред

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

 int Intersect(double[] a1, double[] a2, double[] t) { int i1 = 0, i = 0; for (; i1 != a1.Length; ++i1) { auto m = Bsearch(a2, a1[i1]); if (m == a2.Length) continue; --m; if (!(a2[m] < a1[i1])) t[i++] = a1[i1]; } return i; } 

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

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

 int Intersect(double[] a1, double[] a2, double[] t) { int i1 = 0, i2 = 0, i = 0; for (; i1 != a1.Length; ++i1) { auto m = Bsearch(a2, i2, a2.Length, a1[i1]); if (m == i2) continue; if (!(a2[m - 1] < a1[i1])) t[i++] = a1[i1]; i2 = m + 1; } return i; } 

рдпрд╣рд╛рдБ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо `i2 'рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдФрд░' a2.length 'рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореВрд▓ рд╕рд░рдгреА рдХреЗ рдПрдХ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдПрдХ рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЦреЛрдЬ рдХреЗ рд╕рд╛рде `i2 рдмрдврд╝рддрд╛ рдЬрд╛рдПрдЧрд╛, рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдХрдо рд╣реЛрддрд╛ рдЬрд╛рдПрдЧрд╛ред

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

 int GBsearch(double[] a, int i, int j, double v) { for (int step = 1;; step *= 2) { if (i >= j) break; if (a[i] > v) break; if (i + step >= j) return Bsearch(a, i + 1, J, v); if (a[i + step] > v) return Bsearch(a, i + 1, i + step, v); i += step + 1; } return i; } 

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

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

рдЖрдВрджреНрд░реЗрдИ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗрд╕реНрдХреБ рдбреЛрдЯрдиреЗрдХреНрд╕реНрдЯ 2018 рдорд╛рд╕реНрдХреЛ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЬреЗрдлрд░реА рд░рд┐рдХреНрдЯрд░, рдЧреНрд░реЗрдЧ рдпрдВрдЧ, тАЛтАЛрдкрд╛рд╡реЗрд▓ рдпреЛрд╕рд┐рдлреЛрд╡рд┐рдЪ рдФрд░ рдЕрдиреНрдп рд╡рд╣рд╛рдВ рд╣реЛрдВрдЧреЗред рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рдирд╛рдо рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╡рд┐рд╖рдп рдпрд╣рд╛рдВ рдФрд░ рдЯрд┐рдХрдЯ рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ ред рдЕрдм рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдВ!

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


All Articles