
рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ, рджреВрд╕рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪреИрдореНрдкрд┐рдпрдирд╢рд┐рдк рдЖрдпреЛрдЬрд┐рдд рдХреА рдЧрдИ рдереАред рд╣рдореЗрдВ 12,500 рдЖрд╡реЗрджрди рдорд┐рд▓реЗ, 6,000 рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдиреЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛рдУрдВ рдореЗрдВ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рдпрд╛ред рдЗрд╕ рдмрд╛рд░, рдкреНрд░рддрд┐рднрд╛рдЧреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдЯреНрд░реИрдХ рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ: рдмреИрдХрдПрдВрдб, рдлреНрд░рдВрдЯреЗрдВрдб, рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧред рдкреНрд░рддреНрдпреЗрдХ рдЯреНрд░реИрдХ рдореЗрдВ, рдпреЛрдЧреНрдпрддрд╛ рдЪрд░рдг рдФрд░ рдЕрдВрддрд┐рдо рдЙрддреНрддреАрд░реНрдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдкрд░рдВрдкрд░рд╛ рд╕реЗ, рд╣рдо рд╣реИрдмреЗ рдкрд░ рдкрдЯрд░рд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЖрдЗрдП рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рдпреЛрдЧреНрдпрддрд╛ рдЪрд░рдг рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред рдЯреАрдо рдиреЗ рдкрд╛рдВрдЪ рдРрд╕реЗ рдХрд╛рд░реНрдп рддреИрдпрд╛рд░ рдХрд┐рдП, рдЬрд┐рдирдореЗрдВ рд╕реЗ рддреАрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рдереЗ: рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдП 1, рдмреА 1 рдФрд░ рд╕реА рдереЗ, рджреВрд╕рд░реЗ рдореЗрдВ - рдП 2, рдмреА 2 рдФрд░ рд╕реАред рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЯрд╛рд╕реНрдХ рд╕реА рдХреЗ рд▓реЗрдЦрдХ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдкрд╛рд╡реЗрд▓ рдкрд╛рд░реНрдХрд╣реЛрдореЗрдВрдХреЛ рд╣реИрдВ, рдмрд╛рдХреА рдХрд╛рд░реНрдп рдЙрдирдХреЗ рд╕рд╣рдпреЛрдЧреА рдирд┐рдХрд┐рддрд╛ рд╕реЗрдВрдбрд░реЛрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдереЗред
рдкрд╣рд▓реЗ рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдердорд┐рдХ рдХрд╛рд░реНрдп (A1 / A2) рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рднрд╛рдЧреА рдЙрддреНрддрд░ рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдХрд░рдХреЗ 50 рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рдХрд╛рд░реНрдп (рдмреА 1 / рдмреА 2) рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ 10 рд╕реЗ 100 рдЕрдВрдХ рджрд┐рдП - рд╕рдорд╛рдзрд╛рди рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред 100 рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рддреАрд╕рд░рд╛ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдХреНрд▓рд┐рдХ рдореЙрдбрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдерд╛ред рдпрд╣ рд╢реНрд░реЗрдгреАрдмрджреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдЧреИрд░-рд░реИрдЦрд┐рдХ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдмреВрд╕реНрдЯрд┐рдВрдЧ)ред рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП 150 рдЕрдВрдХ рддрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ - рдкрд░реАрдХреНрд╖рдг рдирдореВрдиреЗ рдкрд░ рдиреБрдХрд╕рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
A1ред рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╢рд░реНрдд
рд╕рд┐рдлрд╛рд░рд┐рд╢ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╣рд┐рддреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдРрд╕рд╛ рд╣реА рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣рд┐рдВрдбреЛрд▓рд╛ рд╣реИред
рдПрдХ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХрд╛рд░реНрдб рдХрд╛ рдПрдХ рдХреНрд╖реИрддрд┐рдЬ рд░рд┐рдмрди рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрд░реЛрдд рдпрд╛ рд╡рд┐рд╖рдп рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣реА рдХрд╛рд░реНрдб рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреЛ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдб рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд┐рд░ рд╕реЗ рдкрд╣рд▓рд╛ рджреЗрдЦрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдб рд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рдВрдХреНрд░рдордг рдЕрджреГрд╢реНрдп рд╣реИ, рдЙрд╕рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЯреЗрдк рдЕрдВрддрд╣реАрди рд╣реИред
рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╕реАрд▓реА рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЯреЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реВрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рдВрдмрд╛рдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЯреЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдореАрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдбреНрд╕ рдХреЛ рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдб рдХреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ред рддреЛ рд╡рд╛рд╕рд┐рд▓реА рдиреЗ рдХрд╛рдЧрдЬ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдкрд╣рд▓рд╛ рдПрди рдХрд╛рд░реНрдб рд▓рд┐рдЦрд╛ред рдпрд╣ рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рд╕рднреА рд╣рд┐рдВрдбреЛрд▓рд╛ рдХрд╛рд░реНрдб рдХреЛ рджреЗрдЦрд╛ред рдлрд┐рд░ рд╡рд╕реАрд▓реА рдмрд┐рд╕реНрддрд░ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдФрд░ рд╕реБрдмрд╣ рдЙрд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЙрд╕рдХреЗ рдиреЛрдЯреЛрдВ рдкрд░ рдПрдХ рдЧрд┐рд▓рд╛рд╕ рдкрд╛рдиреА рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдерд╛ рдФрд░ рдЕрдм рдХреБрдЫ рдкрддреНрд░реЛрдВ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рдирд╣реАрдВ рджреА рдЬрд╛ рд╕рдХрддреА рдереАред
рд╢реЗрд╖ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред
I / O рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЙрджрд╛рд╣рд░рдгрдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрдХрд▓ рдкреВрд░реНрдгрд╛рдВрдХ n (1 тЙд n - 1000) рд╣реИ - рд╡рд╛рд╕рд┐рд▓реА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╡рд╕реАрд▓реА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рд╣реИред рдЗрд╕рдореЗрдВ n рдЕрдХреНрд╖рд░ рд╣реЛрддреЗ рд╣реИрдВ - рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░ рдФрд░ # рдЪрд┐рд╣реНрди рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдХреНрд╖рд░ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рдирд╣реАрдВ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк
рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдкреЙрдЬрд┐рдЯрд┐рд╡ рдирдВрдмрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ - рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдХрд╛рд░реНрдб рдХреА рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ред
рдЙрджрд╛рд╣рд░рдг 1
рдЙрджрд╛рд╣рд░рдг 2
рдЙрджрд╛рд╣рд░рдг 3
рдЙрджрд╛рд╣рд░рдг 4
рдиреЛрдЯ
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рднреА рдкрддреНрд░реЛрдВ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреА рдЧрдИ рдереА, рдиреНрдпреВрдирддрдо рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ 3 рдХрд╛рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдПрдмреАрд╕реАред
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рднреА рдкрддреНрд░реЛрдВ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреА рдЧрдИ рдереА, рдиреНрдпреВрдирддрдо рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ 3 рдХрд╛рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдПрдмреАрдмреАред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рдХрд╛рд░реНрдб рд╕рдорд╛рди рд╣реИрдВред
рддреАрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрднрд╡ рд╣рд┐рдВрдбреЛрд▓рд╛ рд▓рдВрдмрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреАрдХ рддреАрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдерд╛ред рдлрд┐рд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓рд╛рдЗрди рдЕрдмреНрдмрд╛ рд╣реИ, рдиреНрдпреВрдирддрдо рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ 2 рдХрд╛рд░реНрдб рд╣реЛрддреЗ рд╣реИрдВ - рдПрдмреАред
рдЪреМрдереЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕реНрд░реЛрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ffffffред рддрдм рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдб - рдПрдл рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА
рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЖрдк
50 рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, 1-4 рдкрд░реАрдХреНрд╖рдг рд╣рд╛рд▓рдд рд╕реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
рдирд┐рд░реНрдгрдп
рдпрд╣ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рд▓рдВрдмрд╛рдИ рдХреЛ 1 рд╕реЗ n рддрдХ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ n рдХрд╛ рдорд╛рди рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╣рд┐рдВрдбреЛрд▓рд╛ рд▓рдВрдмрд╛рдИ рдкреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рд╕рднреА рдкрджреЛрдВ i, i + p, i + 2p, рдЖрджрд┐ рдкрд░ 0 рд╕реЗ рд▓реЗрдХрд░ (p - 1) рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд░рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ, рд╕рдорд╛рди рд╡рд░реНрдг рдпрд╛ # рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ z рд╕реЗ рд╕реАрдорд╛ рддрдХ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдг рд╣реИрдВ, рддреЛ рд╣рд┐рдВрдбреЛрд▓рд╛ рд▓рдВрдмрд╛рдИ p рдХрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкреА рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рднреА рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдУ (рдПрди
2 ) рд╣реИред
def check_character(char, curchar): return curchar is None or char == "#" or curchar == char def need_to_assign_curchar(char, curchar): return curchar is None and char != "#" n = int(input()) s = input().strip() for p in range(1, n + 1): is_ok = True for i in range(0, p): curchar = None for j in range(i, n, p): if not check_character(s[j], curchar): is_ok = False break if need_to_assign_curchar(s[j], curchar): curchar = s[j] if not is_ok: break if is_ok: print(p) break
рдП 2ред рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╢рд░реНрдд
рд╕рд┐рдлрд╛рд░рд┐рд╢ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╣рд┐рддреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдРрд╕рд╛ рд╣реА рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣рд┐рдВрдбреЛрд▓рд╛ рд╣реИред
рдПрдХ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХрд╛рд░реНрдб рдХрд╛ рдПрдХ рдХреНрд╖реИрддрд┐рдЬ рд░рд┐рдмрди рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрд░реЛрдд рдпрд╛ рд╡рд┐рд╖рдп рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣реА рдХрд╛рд░реНрдб рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреЛ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдб рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд┐рд░ рд╕реЗ рдкрд╣рд▓рд╛ рджреЗрдЦрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдб рд╕реЗ рдкрд╣рд▓реА рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдЕрджреГрд╢реНрдп рд╣реИ, рдЙрд╕рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЯреЗрдк рдЕрдВрддрд╣реАрди рд╣реИред
рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╕реАрд▓реА рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЯреЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реВрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рдВрдмрд╛рдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕рдиреЗ рдЯреЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдореАрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдбреНрд╕ рдХреЛ рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдб рдХреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ред рддреЛ рд╡рд╕реАрд▓реА рдиреЗ рдкрд╣рд▓реЗ n рдХрд╛рд░реНрдбреНрд╕ рд▓рд┐рдЦреЗред рдпрд╣ рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рд╕рднреА рд╣рд┐рдВрдбреЛрд▓рд╛ рдХрд╛рд░реНрдб рдХреЛ рджреЗрдЦрд╛ред рдЪреВрдВрдХрд┐ рд╡рд╛рд╕рд┐рд▓реА рдХреЛ рдХрд╛рд░реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдм рдмрд╛рд╣рд░ рд▓рд┐рдЦрддреЗ рд╣реБрдП, рд╡рд╣ рдЧрд▓рддреА рд╕реЗ рдПрдХ рдЕрдХреНрд╖рд░ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЙрд╕рдиреЗ k рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ред
рд╡рд╛рд╕рд┐рд▓реА рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдЧрд┐рд░ рдЧрдИ, рдЖрдк рдХрд╢реНрдореАрд░ рдХрд╛ рдореВрд▓реНрдп рднреА рдЬрд╛рдирддреЗ рд╣реИрдВред рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрд╕рдХреЗ рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдХрд┐рддрдиреЗ рдХрд╛рд░реНрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
I / O рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЙрджрд╛рд╣рд░рдгрдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЛ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ: n (1 тЙд n - 500) - рддреБрд▓рд╕реА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдФрд░ k (0 (k) n) - рдЕрдзрд┐рдХрддрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреЛ рд╡рд╛рд╕рд┐рд▓реА рдиреЗ рдмрдирд╛рдИ рдереАрдВред
рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ n рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░ рд╣реИрдВ - рдЬреЛ рд╡рд╕реАрд▓реА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рд╣реИред
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк
рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдкреЙрдЬрд┐рдЯрд┐рд╡ рдирдВрдмрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ - рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдХрд╛рд░реНрдб рдХреА рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ред
рдЙрджрд╛рд╣рд░рдг 1
рдЙрджрд╛рд╣рд░рдг 2
рдЙрджрд╛рд╣рд░рдг 3
рдЙрджрд╛рд╣рд░рдг 4
рдиреЛрдЯ
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, k = 0, рдФрд░ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕рд┐рд▓реА рд╕реЗ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реБрдИ, рдиреНрдпреВрдирддрдо рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ 3 рдХрд╛рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдПрдмреАрд╕реАред
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрднрд╡ рд╣рд┐рдВрдбреЛрд▓рд╛ рд▓рдВрдмрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕рд┐рд▓реА рдиреЗ рдЧрд▓рддреА рд╕реЗ рддреАрд╕рд░реЗ рдкрддреНрд░ рдХреЛ рд╕реА рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ред рдлрд┐рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЗрдЦрд╛ рдЕрдмрд╛рдмрд╛ рд╣реИ, рдиреНрдпреВрдирддрдо рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ 2 рдХрд╛рд░реНрдб рд╣реЛрддреЗ рд╣реИрдВ - рдПрдмреАред
рддреАрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рд╡рд╕реАрд▓реА рдПрдХ рдЧрд▓рддреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рд┐рдВрдбреЛрд▓рд╛ рдХрд╛ рдЖрдХрд╛рд░ рдиреНрдпреВрдирддрдо рд╣реИ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЙрд╕рдиреЗ рдЧрд▓рддреА рдирд╣реАрдВ рдХреАред рдиреНрдпреВрдирддрдо рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ 3 рдХрд╛рд░реНрдб рд╣реЛрддреЗ рд╣реИрдВ - рдПрдмреАрдмреАред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рдХрд╛рд░реНрдб рд╕рдорд╛рди рд╣реИрдВред
рдЪреМрдереЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕рд┐рд▓реА рдХреЛ рд╕рднреА рдкрддреНрд░реЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдореЗрдВ рдЧрд▓рддреА рд╣реБрдИ, рдФрд░ рдореВрд▓ рдкрдВрдХреНрддрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдлрд╛рдлрдлред рддрдм рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдб - рдПрдл рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА
рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЖрдк
50 рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, 1-4 рдкрд░реАрдХреНрд╖рдг рд╣рд╛рд▓рдд рд╕реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
рдирд┐рд░реНрдгрдп
рдпрд╣ рд╣рд┐рдВрдбреЛрд▓рд╛ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рд▓рдВрдмрд╛рдИ рдХреЛ 1 рд╕реЗ n рддрдХ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ n рдХрд╛ рдорд╛рди рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ, рдЬреЛ рднреА k рдХрд╛ рдореВрд▓реНрдп рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╣рд┐рдВрдбреЛрд▓рд╛ рд▓рдВрдмрд╛рдИ рдкреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ 0 рд╕реЗ рд▓реЗрдХрд░ (рдкреА - 1) рддрдХ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдореИрдВ, i + p, i + 2p рдЗрддреНрдпрд╛рджрд┐ рдкрджреЛрдВ рдкрд░ рдиреНрдпреВрдирддрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреНрдпрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╕рд╣реА рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдиреНрдпреВрдирддрдо рд╣реИред рдкреНрд░рддреАрдХ рд╡рд╣ рд╣реИ рдЬреЛ рдЗрди рдкрджреЛрдВ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЙрди рдкрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ рдЬрд┐рди рдкрд░ рдПрдХ рдФрд░ рдкрддреНрд░ рдЦрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдХреБрдЫ p рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ k рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдорд╛рди p рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреА рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рднреА рдкрд╛рддреНрд░реЛрдВ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдУ (рдПрди
2 ) рд╣реИред
n, k = map(int, input().split()) s = input().strip() for p in range(1, n + 1): mistakes = 0 for i in range(0, p): counts = [0] * 26 for j in range(i, n, p): counts[ord(s[j]) - ord("a")] += 1 mistakes += sum(counts) - max(counts) if mistakes <= k: print(p) break
рдмреА 1ред рдЗрд╖реНрдЯрддрдо рд╕рд┐рдлрд╛рд░рд┐рд╢ рдЯреЗрдк
рд╢рд░реНрдд
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдХрд╛ рдЧрдарди рдПрдХ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЗ рдЪрдпрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдЖрдзрд╛рд░ рд╕реЗ рдЪреБрдиреЗ рдЧрдП рдПрди рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдкреНрд░рдХрд╛рд╢рди рд╕рдВрдЦреНрдпрд╛ i рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╕реНрдХреЛрд░
i рдФрд░ k рдмрд╛рдЗрдирд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ
i1 ,
i2 , ..., рдПрдХ
ik рд╣реИ ред рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд╢рди рдХреА рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рдкреНрд░рдХрд╛рд╢рди рдкрд┐рдЫрд▓реЗ 24 рдШрдВрдЯреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрджрд┐ред рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рдЗрди рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдПрдХ рд╕рд╛рде рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдореВрд▓реНрдп рд╣реЛрддрд╛ рд╣реИред 1, рдпрд╛ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ 0 рд╣реИрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдлрд╝реАрдб рд╡рд┐рд╡рд┐рдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдореА рдЕрднреНрдпрд░реНрдереА n рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдЪреБрдиреЗрдВ рддрд╛рдХрд┐ рдЙрдирдХреЗ рдмреАрдЪ рдХрдо рд╕реЗ рдХрдо A
1 рдкреНрд░рдХрд╛рд╢рди рд╣реЛ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛ, рдХрдо рд╕реЗ рдХрдо A
2 рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ рджреВрд╕рд░реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛ, ..., A
k рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд╢рди рдирдВрдмрд░ рдХреЗред рдореА рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдХреБрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╕реНрдХреЛрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдкреНрд░рдХрд╛рд╢рди рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
I / O рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЙрджрд╛рд╣рд░рдгрдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рддреАрди рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ - n, m, k (1 тЙд n 1 50, 1 тЙд m 9 рдорд┐рдирдЯ (n, 9), 1 тЙд k) 5)ред
рдЕрдЧрд▓реА рдПрди рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВред I-рд╡реЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ s
i (1 тЙд s
i ) 10
9 ) рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХрд╛ рдЖрдХрд▓рди, рдФрд░ рдлрд┐рд░, рдПрдХ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рдмрд╛рдж, k рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ 0 рдпрд╛ 1 рд╣реИ - рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдорд╛рдиред
рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ k рдкреВрд░реНрдгрд╛рдВрдХ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдорд╛рди A
1 , ..., A
k (0
i A
i the m) рдЬреЛ m рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЗ рдЕрдВрддрд┐рдо рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк
рдпрджрд┐ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореА рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХрд╛ рдХреЛрдИ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ 0. рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред рдЕрдиреНрдпрдерд╛, рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ - рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдХреБрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╕реНрдХреЛрд░ред
рдЙрджрд╛рд╣рд░рдг 1
рдЙрджрд╛рд╣рд░рдг 2
рдиреЛрдЯ
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджреЛ рдЧреБрдгреЛрдВ рд╡рд╛рд▓реЗ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рд╕реЗ, рджреЛ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреНрд░рдХрд╛рд╢рди рд╣реЛ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛ рдФрд░ рдПрдХ рдЬрд┐рд╕рдореЗрдВ рджреВрд╕рд░реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛред рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рд╣рдо рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рдкреНрд░рдХрд╛рд╢рди рд▓реЗрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪреМрдереЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИред
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджреЛ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рджреЛрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рджреВрд╕рд░реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдкрд╛рд╕ рд╣реА рд╣реИред
рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА
рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдкрд╛рдБрдЪ рд╕рдореВрд╣ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рдЕрдВрдХ рдХреЗрд╡рд▓ рд╕рдореВрд╣ рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░
рдкрд┐рдЫрд▓реЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЛрдВ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЖрдк
100 рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг 1-2 рд╕реНрдерд┐рддрд┐ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
1.
(10 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 3-10: k = 1, m тЙд 3, s
i , 1000, рдХреЛрдИ рднреА рдкрд░реАрдХреНрд╖рдг рд╢рд░реНрдд рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВ
2.
(20 рдЕрдВрдХ) рдЯреЗрд╕реНрдЯ 11тАУ20: k m 2, m tests 3
3.
(20 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 21тАУ29: k tests 2
4.
(20 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 30-37: k tests 3
5.
(30 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 38-47: рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ
рдирд┐рд░реНрдгрдп
N рдкреНрд░рдХрд╛рд╢рди рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдЧрддрд┐ рдФрд░ k рдмреВрд▓рд┐рдпрди рдЭрдВрдбреЗ рд╣реИрдВ, рдореА рдХрд╛рд░реНрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреА рд░рд╛рд╢рд┐ рдЕрдзрд┐рдХрддрдо рд╣реИ рдФрд░ рдкреНрд░рдкрддреНрд░ рдХреА k рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ "рдЪрдпрдирд┐рдд m рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ тЙе рдП-рдЖрдИ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдПрдХ
i рдХрд╛рд░реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИрдВ, рдпрд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдХреЛрдИ рдЕрд╕реНрддрд┐рддреНрд╡ рдирд╣реАрдВ рд╣реИред
рдирд┐рд░реНрдгрдп 10 рдЕрдВрдХ рд╣реИ : рдпрджрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдзреНрд╡рдЬ рд╣реИ, рддреЛ рдЗрд╕ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде A
1 рдкреНрд░рдХрд╛рд╢рди рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ (рдпрджрд┐ A
1 рд╕реЗ рдХрдо рдРрд╕реЗ рдХрд╛рд░реНрдб рд╣реИрдВ, рддреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрдЯ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ), рдФрд░ рдмрд╛рдХреА (m - A
1 ) рдХреЛ рдКрдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдбред
рд╕рдорд╛рдзрд╛рди 30 рдЕрдВрдХ рд╣реИ : рдпрджрд┐ рдореА 3 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдХрд╛рд░реНрдб рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдУ (рдПрди
3 ) рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрддрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреБрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВред
рдирд┐рд░реНрдгрдп 70 рдЕрдВрдХ (50 рдЕрдВрдХ рд╕рдорд╛рди рд╣реИ, рдХреЗрд╡рд▓ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ): рдпрджрд┐ 3 рд╕реЗ рдЕрдзрд┐рдХ рдЭрдВрдбреЗ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рднреА рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЛ 8 рдЕрд╕рдВрддреБрд╖реНрдЯ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдЭрдВрдбреЗ рдХреЗ рд╕реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░: 000, 001, 010, 011, 100, 101, 110, 111. рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЗ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░, O (m
4 ) рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдореВрд╣реЛрдВ рдХреЛ 111, 011, 110 рдФрд░ 101 рдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рдХрд╛рд╢рди рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗ рд╣рдо 0 рд╕реЗ m рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рддрдХ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдореА рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣ 100, 010 рдФрд░ 001 рд╕реЗ рдХрд┐рддрдиреЗ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рд╢реЗрд╖ рдХрд╛рд░реНрдбреЛрдВ рдХреЗ рд╕рд╛рде рдореА рдкрд░ рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди : рдбрд╛рдпрдирд╛рдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдлрдВрдХреНрд╢рди dp [i] [a] ... [z] рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рдЕрдзрд┐рдХрддрдо рдХреБрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╕реНрдХреЛрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ i рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЭрдВрдбреЗ A, ..., Z рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЗ рд╕рд╛рде Z рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд╢рди рд╣реЛред рдлрд┐рд░, рд╢реБрд░реВ рдореЗрдВ dp [0] [0] ... [0] = 0, рдФрд░ рд╕рднреА рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -1 рдХреЗ рдмрд░рд╛рдмрд░ рдореВрд▓реНрдп рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рдмрд╛рд░ рдореЗрдВ "рдЧреЗрдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВрдЧреЗ" рдХрд╛рд░реНрдб рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ: рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЗ рд▓рд┐рдП (i, a, b, ..., z) рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде j- рд╡реЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ (рдП, рдмреА)
j , ..., z
j ), рд╣рдо рд░рд╛рдЬреНрдп (i + 1, a +
j , b + b
j , ..., z + z
j ) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд░рдордг рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдорд╣рддреНрд╡рдкреВрд░реНрдг: рд╕рдВрдХреНрд░рдордг рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЙрди рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдВ, m рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП, рдРрд╕реА рдЧрддрд┐рдХреА рдХреА рдХреБрд▓ рдЕрд╡рд╕реНрдерд╛рдПрдВ m
k + 1 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрд╕рдордорд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ O (nm
k + 1 ) рд╣реИред рдЬрдм рдЧрддрд┐рдХреА рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрддреНрддрд░ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИ рдФрд░ рдЙрдЪреНрдЪрддрдо рдХреБрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рд╕реНрдХреЛрд░ рджреЗрддреА рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдХрд╛рдо рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдЭрдВрдбреЗ рдХреЛ рдПрдХ рдкреВрд░реЗ рдирдВрдмрд░ рдореЗрдВ рдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ (рдХреЛрдб рджреЗрдЦреЗрдВ), рдФрд░ рд╕реВрдЪреА рдпрд╛ рдЯрдкрд▓ рдореЗрдВ рдирд╣реАрдВред рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрдо рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреЛрдб:
def pack_state(num_items, counts): result = 0 for count in counts: result = (result << 8) + count return (result << 8) + num_items def get_num_items(state): return state & 255 def get_flags_counts(state, num_flags): flags_counts = [0] * num_flags state >>= 8 for i in range(num_flags): flags_counts[num_flags - i - 1] = state & 255 state >>= 8 return flags_counts n, m, k = map(int, input().split()) scores, attributes = [], [] for i in range(n): score, flags = input().split() scores.append(int(score)) attributes.append(list(map(int, flags))) limits = list(map(int, input().split())) dp = {0 : 0} for i in range(n): score = scores[i] state_delta = pack_state(1, attributes[i]) dp_temp = {} for state, value in dp.items(): if get_num_items(state) >= m: continue new_state = state + state_delta if value + score > dp.get(new_state, -1): dp_temp[new_state] = value + score dp.update(dp_temp) best_score = 0 for state, value in dp.items(): if get_num_items(state) != m: continue flags_counts = get_flags_counts(state, k) satisfied_bounds = True for i in range(k): if flags_counts[i] < limits[i]: satisfied_bounds = False break if not satisfied_bounds: continue if value > best_score: best_score = value print(best_score)
рдмреА 2ред рдХрд╛рд░реНрдп рдХрд╛ рдЕрдиреБрдорд╛рди
рд╢рд░реНрдд
рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреА рдбрд┐рдЧреНрд░реА рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдгрдп рдкреЗрдбрд╝ред K-ary рдирд┐рд░реНрдгрдп рдЯреНрд░реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ рдПрдХ рдирд┐рд░реНрдгрдп рдирд┐рдпрдо рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ k рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдмрд╛рдЗрдирд░реА рдирд┐рд░реНрдгрдп рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ k-ary рдирд┐рд░реНрдгрдп рдЯреНрд░реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЗрдП рдореИрдВ 1, 2, ..., n рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЕрд╕рддрдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд┐рд░рдВрддрд░ рдлрд╝рдВрдХреНрд╢рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрд╛рдВрд╕реНрдЯреЗрдВрд╕реА рдХреЗ рдХрд╢реНрдореАрд░ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛ, рдЬреИрд╕реЗ рдХрд┐ рдореВрд▓реНрдп рдПрд╕рдПрд╕рдИ =
(g (i) - f (i))
2 рдиреНрдпреВрдирддрдо рд╣реИред
I / O рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЙрджрд╛рд╣рд░рдгрдЗрдирдкреБрдЯ рдкреНрд░рд╛рд░реВрдк
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЛ рдкреВрд░реНрдгрд╛рдВрдХ n рдФрд░ k (1 тЙд n 1 300, 1 contains k (рдорд┐рдирдЯ (n, 10)) рд╣реИрдВред
рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ n рдкреВрд░реНрдгрд╛рдВрдХ f (1), f (2), ..., f (n) - рдЕрдВрдХ 1, 2, ..., n рдкрд░ рдЕрдиреБрдорд╛рдирд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рди рд╣реИрдВ (n -10
6 (f (i) inte резреж
рем )ред
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк
рдПрдХрд▓ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ - рдПрд╕рдПрд╕рдИ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рдореВрд▓реНрдпред рдпрджрд┐ рдкреВрд░реНрдг рдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖рд┐рдХ рддреНрд░реБрдЯрд┐
10тАУ6 рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛ рддреЛ рдЙрддреНрддрд░ рдХреЛ рд╕рд╣реА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг 1
рдЙрджрд╛рд╣рд░рдг 2
рдЙрджрд╛рд╣рд░рдг 3
рдиреЛрдЯ
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЗрд╖реНрдЯрддрдо рдлрд╝рдВрдХреНрд╢рди рдЬреА рд╕реНрдерд┐рд░ рдЬреА (i) = 2 рд╣реИред
SSE = (2 - 1)
2 + (2 - 2)
2 + (2 - 3)
2 = 2ред
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдпрд╛ рддреЛ рдЬреА (1) = 1 рдФрд░ рдЬреА (2) = рдЬреА (3) = 2.5, рдпрд╛ рдЬреА (1) = рдЬреА (2) = 1.5 рдФрд░
g (3) = 3. рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, SSE = 0.5ред
рддреАрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЧрддрд┐ рдХреЗ рджреЛ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдЪ рдХрд╛ рдЗрд╖реНрдЯрддрдо рдЕрдиреБрдорд╛рди рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЬреА (1) = рдЬреА (2) = 1.5 рдФрд░ рдЬреА (3) = рдЬреА (4) = рдЬреА (5) = 4ред
SSE = (1.5 + 2)
2 + (1.5 - 1)
2 + (4 - 5)
2 + (4 - 3)
2 + (4 - 4)
2 = 2.5ред

рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА
рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдкрд╛рдБрдЪ рд╕рдореВрд╣ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рдЕрдВрдХ рдХреЗрд╡рд▓ рд╕рдореВрд╣ рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░
рдкрд┐рдЫрд▓реЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЛрдВ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЖрдк
100 рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, 1-3 рдкрд░реАрдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
1.
(10 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 4-22: k = 1, рд╕реНрдерд┐рддрд┐ рд╕реЗ рдХрд┐рд╕реА рднреА рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
2.
(20 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 23-28: k tests 2
3.
(20 рдЕрдВрдХ) рдХрд╛ рдкрд░реАрдХреНрд╖рдг 29-34: k tests 3
4.
(20 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 35-40: k tests 4
5.
(30 рдЕрдВрдХ) рдкрд░реАрдХреНрд╖рдг 41-46: рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ
рдирд┐рд░реНрдгрдп
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдирд┐рд░рдВрддрд░рддрд╛ рдЬреЛ рдорд╛рди
1 , f
2 , ..., f
n рдХреЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП SSE рдорд╛рди рдХреЛ рдиреНрдпреВрдирддрдо рдХрд░рддрд╛ рд╣реИ, f
n рдпрд╣рд╛рдБ рд╕реВрдЪреАрдмрджреНрдз рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдФрд╕рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╕рд░рд▓ рдЧрдгрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдореВрд▓реНрдп SSE =
ред
рдирд┐рд░реНрдгрдп 10 рдЕрдВрдХ рд╣реИ : рд╣рдо рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдФрд░ SSE рдХреЗ рд╕рднреА рдорд╛рдиреЛрдВ рдХреЗ рдФрд╕рдд рдХреЛ O (n) рдорд╛рдирддреЗ рд╣реИрдВред
рдирд┐рд░реНрдгрдп 30 рдЕрдВрдХ рдХрд╛ рд╣реИ : рд╣рдо рджреЛ рднрд╛рдЧреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдХреЛ рд╕реБрд▓рдЭрд╛рддреЗ рд╣реИрдВ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рд╣рдо рдПрд╕рдПрд╕рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╖реНрдЯрддрдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдорд╛рдорд▓реЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ рдЬрдм рдХрдмреНрдЬ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЦрдВрдб рд╣реЛрддрд╛ рд╣реИред рдХрдард┐рдирд╛рдИ - O (n
2 )ред
рдпрд╣ рдирд┐рд░реНрдгрдп 50 рдЕрдВрдХ рдХрд╛ рд╣реИ : рд╣рдо O (n
2 ) рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрди рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ 3 рдЦрдВрдбреЛрдВ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо SSE рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╖реНрдЯрддрдо рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВред рдХрдард┐рдирд╛рдИ - O (n
3 )ред
рдпрд╣ рдирд┐рд░реНрдгрдп 70 рдЕрдВрдХ рдХрд╛ рд╣реИ : рд╣рдо рдЙрдкрд╕рд░реНрдЧреЛрдВ рдкрд░ f
i рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╡рд░реНрдЧ рдФрд░ рдпреЛрдЧреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдЦрдВрдб рдкрд░ рдФрд╕рдд рдФрд░ SSE рдХреА рд╢реАрдШреНрд░ рдЧрдгрдирд╛ рдХрд░ рд╕рдХреЗрдВрдЧреЗред рд╣рдо рд╡рд┐рднрд╛рдЬрди рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ O (n
3 ) рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ 4 рдЦрдВрдбреЛрдВ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, O (1) рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧреЛрдВ рдкрд░ рдкреВрд░реНрд╡-рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо SSE рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдХрдард┐рдирд╛рдИ - O (n
3 )ред
рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди : рдбрд╛рдпрдирд╛рдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдлрдВрдХреНрд╢рди dp [s] [i] рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ SSE рдорд╛рди рд╣реИ рдпрджрд┐ рд╣рдо s рд╕реЗрдЧрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╣рд▓реЗ i рдорд╛рдиреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВред рддреЛ
dp [0] [реж] = реж, рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреНрдп рд╕рднреА рд╕реЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирдВрдд рдХреЗ рдмрд░рд╛рдмрд░ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ, рдзреАрд░реЗ-рдзреАрд░реЗ рдПрд╕ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рд╡реГрджреНрдзрд┐ред Dp [s] [i] рдХреА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ рдпрджрд┐ рд╕рднреА рдЫреЛрдЯреЗ s рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд╢реАрд▓рддрд╛ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрдгрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╣ рдкрд┐рдЫрд▓реЗ (рдПрд╕ - 1) рдЦрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдП рдЧрдП рдкрд╣рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЯреА рдХреЗ рд▓рд┐рдП рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдЯреА рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ, рдФрд░ рд╢реЗрд╖ рдЦрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЗрд╖ (рдЖрдИ - рдЯреА) рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░реЗрдВред I рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЕрдВрддрд┐рдо SSE рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдореВрд▓реНрдп рдЯреА рдЪреБрдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рд╣рдо рдЙрдкрд╕рд░реНрдЧреЛрдВ рдкрд░ f
i рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╡рд░реНрдЧ рдФрд░ рдпреЛрдЧреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдиреНрдирд┐рдХрдЯрди O (1) рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдореВрд▓реНрдп dp [s] [i] рдХреА рдЧрдгрдирд╛ O (n) рдореЗрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЕрдВрддрд┐рдо рдЙрддреНрддрд░ dp [k] [n] рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдХреБрд▓ рдЬрдЯрд┐рд▓рддрд╛ O (kn
2 ) рд╣реИред
рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреЛрдб:
n, k = map(int, input().split()) f = list(map(float, input().split())) prefix_sum = [0.0] * (n + 1) prefix_sum_sqr = [0.0] * (n + 1) for i in range(1, n + 1): prefix_sum[i] = prefix_sum[i - 1] + f[i - 1] prefix_sum_sqr[i] = prefix_sum_sqr[i - 1] + f[i - 1] ** 2 def get_best_sse(l, r): num = r - l + 1 s_sqr = (prefix_sum[r] - prefix_sum[l - 1]) ** 2 ss = prefix_sum_sqr[r] - prefix_sum_sqr[l - 1] return ss - s_sqr / num dp_curr = [1e100] * (n + 1) dp_prev = [1e100] * (n + 1) dp_prev[0] = 0.0 for num_segments in range(1, k + 1): dp_curr[num_segments] = 0.0 for num_covered in range(num_segments + 1, n + 1): dp_curr[num_covered] = 1e100 for num_covered_previously in range(num_segments - 1, num_covered): dp_curr[num_covered] = min(dp_curr[num_covered], dp_prev[num_covered_previously] + get_best_sse(num_covered_previously + 1, num_covered)) dp_curr, dp_prev = dp_prev, dp_curr print(dp_prev[n])
C. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд▓рд┐рдХ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА
рд╢рд░реНрдд
рдПрдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдХреЗрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред , .
..
2 : (train.csv) (test.csv). , . :
тАФ sample_id тАФ id ,
тАФ item тАФ id ,
тАФ publisher тАФ id ,
тАФ user тАФ id ,
topic_i, weight_i тАФ id i- ( 0 100) (i = 0, 1, 2, 3, 4),
тАФ target тАФ (1 тАФ , 0 тАФ ). .
.
, item, publisher, user, topic .
csv-, : sample_id target, sample_id тАФ id , target тАФ . test.csv. sample_id ( , test.csv). target 0 1.
logloss.
150 . logloss :
logloss . 2 , logloss 4 .
/train.csv:
test.csv:
:
рдиреЛрдЯ
:
yadi.sk/d/pVna8ejcnQZK_A . , .
logloss :
EPS = 1e-4
def logloss(y_true, y_pred):
if abs (y_pred - 1) < EPS:
y_pred = 1 - EPS
if abs (y_pred) < EPS:
y_pred = EPS
return -y_true тИЧ log(y_pred) - (1 - y_true) тИЧ log(1 - y_pred)
logloss logloss .
logloss :
def score(logloss):
if logloss > 0.5:
return 0.0
return min(150, (200 тИЧ (0.5 - logloss)) тИЧтИЧ 2)
, . . , (, , , ) , тАФ , - , .
, 100 ( 150).
тАФ CatBoost . CatBoost ( ), . , . , -:
( ), , , , - ( ).
. , - , : FM (Factorization Machines) FFM (Field-aware Factorization Machines).
,
ML- .