TopCoder Open 2019 рдЪреБрдиреМрддреА: рдкрд╛рдИрд▓рд╛рдИ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН

TopCoder Open 2019 рдЪреБрдиреМрддреА: рдкрд╛рдИрд▓рд╛рдИ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН
рдкрд╛рдЗрд▓рд╛рдорд╛ "рд╣рд╛рдореНрд░реЛ рдЬрд┐рддреНрдпреЛ: TopCoder Open 2019" рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЯреНрд░реНрдпрд╛рдХрдмрд╛рдЯ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдЫреБ (рд╢рд╛рд╕реНрддреНрд░реАрдп рдЦреЗрд▓рдХреБрдж рдХрд╛рд░реНрдпрдХреНрд░рдоред рдбреЗрдв рдШрдгреНрдЯрд╛рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ Java, C#, C++ рд╡рд╛ Python рдорд╛ рддреАрдирд╡рдЯрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред)

1. рдЫ рдХреЛ рд▓рд╛рдЧрд┐ рдкрд╛рдИ

рд╕рдорд╕реНрдпрд╛рдХреЛ рдЧрдарди

рд╕рдордп рд╕реАрдорд╛ 4 рд╕реЗрдХреЗрдиреНрдб рдЫред

рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкрд╛рдИ рдЫред рдорд╛рдерд┐рдмрд╛рдЯ рд╣реЗрд░реНрджрд╛, рдХреЗрдХрдорд╛ (рдХрдбрд╛рдХреЛ рд░реВрдкрдорд╛) рдЙрддреНрддрд▓ рдмрд╣реБрднреБрдЬрдХреЛ рдЖрдХрд╛рд░ рд╣реБрдиреНрдЫред рддрдкрд╛рдИрд▓рд╛рдИ X рд░ Y рдкреВрд░реНрдгрд╛рдЩреНрдХрд╣рд░реВрдорд╛ рдард╛рдбреЛрд╣рд░реВрдХреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджрд┐рдЗрдПрдХреЛ рдЫред

рддрдкрд╛рдИрдХрд╛ рдкрд╛рдБрдЪ рд╕рд╛рдереАрд╣рд░реВ рдЫрдиреНред рддрдкрд╛рдИрдВ рдкрд╛рдИрд▓рд╛рдИ рдмрд░рд╛рдмрд░ рдХреНрд╖реЗрддреНрд░рдХреЛ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ (рддрд░ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рдХрд┐ рдПрдЙрдЯреИ рдЖрдХрд╛рд░)ред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдХрд╕реИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрд╛рдБрдЪ рдХрдЯреМрддреАрдорд╛ рдЧрд░реНрди рд╕рдХреНрдЫ, рддрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд░реНрдердХрд▓реЗ рдпрд╕рд▓рд╛рдИ рддреАрди рдХрдЯреМрддреАрдорд╛ рдЧрд░реНрди рд╕рдХреНрдЫред

рдПрдХ рдмрд┐рдиреНрджреБ рдорд╛рд░реНрдлрдд рд╕реАрдзрд╛ рд░реЗрдЦрд╛рд╣рд░реВрдорд╛ рддреАрди рдХрдЯрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН рдЬрд╕рд▓реЗ рдкрд╛рдИрд▓рд╛рдИ рдЫ рдмрд░рд╛рдмрд░ рднрд╛рдЧрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдиреЗрдЫред рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реН {x, y, d1, d2, d3}, рдЬрд╣рд╛рдБ (x, y) рд╕рдмреИ рддреАрдирд╡рдЯрд╛ рдХрдЯрд╣рд░реВрдХреЛ рд╕рд╛рдЭрд╛ рдмрд┐рдиреНрджреБ рд╣реЛ, рд░ d1, d2, d3 рд░реЗрдбрд┐рдпрдирд╣рд░реВрдорд╛ рдХрдЯрд╣рд░реВрдХреЛ рджрд┐рд╢рд╛ рдХреЛрдгрд╣рд░реВ рд╣реБрдиреНред

рдкрд░рд┐рднрд╛рд╖рд╛рдХрдХреНрд╖рд╛: рдХреЗрдХрдлреЛрд░рд╕рд┐рдХреНрд╕
рд╡рд┐рдзрд┐: рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН
рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ: int[], int[] рд░рд┐рдЯрд░реНрди: рдбрдмрд▓[] рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░: double[] cut(int[] x, int[] y)
(рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдЗрдБрдХреЛ рд╡рд┐рдзрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЫ)

рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ

  • x-рдЕрдХреНрд╖рдХреЛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ 0 (рд░реЗрдбрд┐рдпрди) рд╣реЛ, y-рдЕрдХреНрд╖рдХреЛ рд╕рд╛рдердорд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ pi/2 (рд░реЗрдбрд┐рдпрди) рд╣реЛред
  • d рджрд┐рд╢рд╛рдорд╛ рдХрд╛рдЯреНрдиреБ рднрдиреЗрдХреЛ рдХреБрдиреИ рдкрдирд┐ рдкреВрд░реНрдгрд╛рдВрдХ k рдХреЛ рд▓рд╛рдЧрд┐ pi*k+d рджрд┐рд╢рд╛рдорд╛ рдХрд╛рдЯреНрдиреБ рдЬрд╕реНрддреИ рд╣реЛред
  • рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рджрд┐рд╢рд╛рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВ [0, pi) рдмрд╛рдЯ рд╣реБрдиреБрдкрд░реНрджреИрдиред
  • рдЧреНрд░реЗрдбрд░рд▓реЗ рдбрдмрд▓реНрд╕рдорд╛ рддрдкрд╛рдИрдВрдХреЛ рдЫ рд╡рдЯрд╛ рдХреЗрдХрдХреЛ рдХреНрд╖реЗрддреНрд░рдлрд▓ рдЧрдгрдирд╛ рдЧрд░реНрдиреЗрдЫред рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рд╛рдкреЗрдХреНрд╖рд┐рдХ рд╡рд╛ рдкреВрд░реНрдг рднрд┐рдиреНрдирддрд╛ 10^(-4) рднрдиреНрджрд╛ рдХрдо рднрдПрдорд╛ рдЬрд╡рд╛рдл рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫред
  • рдЕрдЭ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, X рд░ Y рд▓рд╛рдИ рдЧреНрд░реЗрдбрд░рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рддрдкрд╛рдИрдВрдХреЛ рдЫрд╡рдЯрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдордзреНрдпреЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдиреЛ рд░ рд╕рдмреИрднрдиреНрджрд╛ рдареВрд▓реЛ рд╣реБрди рджрд┐рдиреБрд╣реЛрд╕реНред рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрдХреЛ рдЬрд╡рд╛рдл рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫ рдпрджрд┐ Y
  • (рд╕рдорд╕реНрдпрд╛рдХреЛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ 1e-7 рдХреЛ рд╕рдЯреНрдЯрд╛ 1e-4 рдХреЛ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдЫред рдЕрднрд┐рд▓реЗрдЦрдорд╛ рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди, рд╕рдЯреАрдХ рд╕реАрдорд╛рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреЗ рдХреЗрд╕рд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдШрдЯрд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ рдЬрд╕рд▓реЗ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рд╕рдЯреАрдХрддрд╛рдХрд╛ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдирд╕рдХреНрдиреЗ рдмрдирд╛рдЙрди рд╕рдХреНрдЫред 1e-7 рдХреЛред рдПрдХ рдЖрджрд░реНрд╢ рд╕рдВрд╕рд╛рд░рдорд╛, рд╕реАрдорд╛рд╣рд░реВрд▓реЗ рддреНрдпрд╕реНрддрд╛ рдХреЗрд╕рд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИрди рд░ рдЕрдЭреИ рдкрдирд┐ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдХреЗрд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рдирдХреЛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫреИрдиред)

рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ

  • x рдорд╛ 3 рджреЗрдЦрд┐ 50 рддрддреНрд╡ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реБрдиреНрдЫред
  • y рдорд╛ x рдЬрд╕реНрддреИ рддрддреНрд╡рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред
  • 0 рд░ 10 рд╕рдореНрдо рд╕рдорд╛рд╡реЗрд╢реА рд╕рдмреИ рд╕рдордиреНрд╡рдпрд╣рд░реВ
  • x рд░ y рд▓реЗ рдШрдбреАрдХреЛ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛рдорд╛ рдЙрддреНрддрд▓ рдмрд╣реБрднреБрдЬ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред

рдЕрдВрдЧреНрд░реЗрдЬреАрдорд╛ рдореВрд▓

рд╕рдорд╕реНрдпрд╛ рд╡рдХреНрддрд╡реНрдп

рд╕рдордп рд╕реАрдорд╛ 4 рд╕реЗрдХреЗрдиреНрдб рдЫред

рддрдкрд╛рдИрдВрд╕рдБрдЧ рдХреЗрдХ рдЫред рдорд╛рдерд┐рдмрд╛рдЯ рджреЗрдЦрд┐рдпреЛ, рдХреЗрдХ рдПрдХ (рдХрдбрд╛) рдЙрддреНрддрд▓ рдмрд╣реБрднреБрдЬ рд╣реЛред рддрдкрд╛рдЗрдБрд▓рд╛рдИ int[]sx рд░ y рдорд╛ рдпрд╕рдХреЛ рдард╛рдЙрдХреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджрд┐рдЗрдПрдХреЛ рдЫред

рддрдкрд╛рдИрдВрдХрд╛ рдкрд╛рдБрдЪ рд╕рд╛рдереАрд╣рд░реВ рдЫрдиреНред рддрдкрд╛рдИрдВ рдЕрдм рдХреЗрдХрд▓рд╛рдИ рдмрд░рд╛рдмрд░ рдХреНрд╖реЗрддреНрд░рдХреЛ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ (рддрд░ рдЖрд╡рд╢реНрдпрдХ рд░реВрдкрдорд╛ рд╕рдорд╛рди рдЖрдХрд╛рд░ рд╣реЛрдЗрди)ред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдЬреЛ рдХреЛрд╣реАрд▓реЗ рдкрдирд┐ рдкрд╛рдБрдЪ рдХрдЯреМрддреАрдорд╛ рдЧрд░реНрди рд╕рдХреНрдЫ - рддрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдБрдЪреЛ рд╕рдорд░реНрдердХрд▓реЗ рдпрд╕рд▓рд╛рдИ рддреАрдирдорд╛ рдЧрд░реНрди рд╕рдХреНрдЫ!

рдХреЗрдХрд▓рд╛рдИ рдЫ рд╡рдЯрд╛ рд╕рдорд╛рди рдареВрд▓рд╛ рднрд╛рдЧрд╣рд░реВрдорд╛ рдХрд╛рдЯреНрдиреЗ рдПрдЙрдЯреИ рдмрд┐рдиреНрджреБрдмрд╛рдЯ рдЧреБрдЬрд░рдиреЗ рддреАрдирд╡рдЯрд╛ рд╕реАрдзрд╛-рд▓рд╛рдЗрди рдХрдЯрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реНред рд░рд┐рдЯрд░реНрди {x, y, d1, d2, d3}, рдЬрд╣рд╛рдБ (x, y) рддреАрдирд╡рдЯрд╛ рдХрдЯрд╣рд░реВрдХреЛ рд╕рд╛рдЭрд╛ рдмрд┐рдиреНрджреБ рд╣реЛ, рд░ d1, d2, d3 рддрд┐рдиреАрд╣рд░реВрдХреЛ рд░реЗрдбрд┐рдпрдирд╣рд░реВрдорд╛ рджрд┐рд╢рд╛рд╣рд░реВ рд╣реБрдиреНред

рдкрд░рд┐рднрд╛рд╖рд╛

рдХрдХреНрд╖рд╛: рдХреЗрдХрдлреЛрд░рд╕рд┐рдХреНрд╕
рд╡рд┐рдзрд┐: рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН
рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ: int[], int[] рд░рд┐рдЯрд░реНрди: рдбрдмрд▓[] рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░: double[] cut(int[] x, int[] y)
(рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдЗрдБрдХреЛ рд╡рд┐рдзрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЫ)

рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ
тАФ x рдЕрдХреНрд╖рдХреЛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ реж (рд░реЗрдбрд┐рдпрди) рд╣реЛ, y рдЕрдХреНрд╖рдХреЛ рд╕рд╛рдердорд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ pi/0 (рд░реЗрдбрд┐рдпрди) рд╣реЛред
- рджрд┐рд╢рд╛ d рдорд╛ рдХрдЯ рдХреБрдиреИ рдкрдирд┐ рдкреВрд░реНрдгрд╛рдВрдХ k рдХреЛ рд▓рд╛рдЧрд┐ рджрд┐рд╢рд╛ pi*k+d рдорд╛ рдХрд╛рдЯрд┐рдПрдХреЛ рдЬрд╕реНрддреИ рд╣реЛред
- рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рджрд┐рд╢рд╛рд╣рд░реВ рдлрд░реНрдХрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВ [0, pi) рдмрд╛рдЯ рд╣реБрдиреБрдкрд░реНрджреИрдиред
- рдЧреНрд░реЗрдбрд░рд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рдЫрд╡рдЯрд╛ рдХреЗрдХ рдЯреБрдХреНрд░рд╛рд╣рд░реВрдХреЛ рдХреНрд╖реЗрддреНрд░рдлрд▓ рдбрдмрд▓реНрд╕рдорд╛ рдЧрдгрдирд╛ рдЧрд░реНрдиреЗрдЫред рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рд╛рдкреЗрдХреНрд╖рд┐рдХ рд╡рд╛ рдкреВрд░реНрдг рднрд┐рдиреНрдирддрд╛ 10^(-4) рднрдиреНрджрд╛ рдХрдо рднрдПрдорд╛ рдЬрд╡рд╛рдл рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫред
тАФ рдЕрдЭ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рдЧреНрд░реЗрдбрд░рд▓реЗ рдЧрдгрдирд╛ рдЧрд░реЗ рдЕрдиреБрд╕рд╛рд░ X рд░ Y рд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ рдЫрд╡рдЯрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдордзреНрдпреЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдиреЛ рд░ рд╕рдмреИрднрдиреНрджрд╛ рдареВрд▓реЛ рд╣реБрди рджрд┐рдиреБрд╣реЛрд╕реНред рддреНрдпрд╕рдкрдЫрд┐, рдпрджрд┐ Y < max( X + 10^(-4), X * (1+10^(-4)) ) рднрдиреЗ рддрдкрд╛рдИрдВрдХреЛ рдЬрд╡рд╛рдл рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫред
тАФ (рд╕рдорд╕реНрдпрд╛рдХреЛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ 1e-7 рдХреЛ рд╕рдЯреНрдЯрд╛ 1e-4 рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдЫред рдЕрднрд┐рд▓реЗрдЦрдорд╛ рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╕реАрдорд╛ 1e-7 рдкрд░рд┐рд╢реБрджреНрдзрддрд╛рдХреЛ рд╕рд╛рде рдХрд╛рд░реНрдпрд▓рд╛рдИ рдЕрд╕рдореНрднрд╡ рдмрдирд╛рдЙрдиреЗ рдЪреБрдиреМрддреА рдХреЗрд╕рд╣рд░реВрдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдШрдЯрд╛рдЗрдПрдХреЛ рдерд┐рдпреЛред рдПрдХ рдЖрджрд░реНрд╢ рд╕рдВрд╕рд╛рд░рдорд╛ рдмрд╛рдзрд╛рд╣рд░реВрд▓реЗ рддреНрдпрд╕реНрддрд╛ рдХреЗрд╕рд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИрди рд░ рдЕрдЭреИ рдкрдирд┐ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫ, рддрд╛рдХрд┐ рдХреЗрд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди рдорд╛рд░реНрдлрдд рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫреИрдиред)

рдЕрд╡рд░реЛрдзрд╣рд░реВ
тАФ x рдорд╛ 3 рд░ 50 рддрддреНрд╡рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреЗрдЫрдиреНред
тАФ y рдорд╛ x рдЬрддреНрддрд┐рдХреИ рддрддреНрд╡рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╣реБрдиреЗрдЫред
тАФ рд╕рдмреИ рд╕рдордиреНрд╡рдпрд╣рд░реВ 0 рд░ 10,000 рдХреЛ рдмреАрдЪрдорд╛ рд╣реБрдиреЗрдЫрдиреН, рд╕рдорд╛рд╡реЗрд╢реАред
тАФ x рд░ y рд▓реЗ рдШрдбреАрдХреЛ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛рдорд╛ рдЙрддреНрддрд▓ рдмрд╣реБрднреБрдЬрдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫред

рдЙрджрд╛рд╣рд░рдг

0)

{0, 20, 30, 50, 30, 20}
{10, 0, 0, 10, 20, 20}
рд▓рд╛рдн:
{24.999999999437453, 9.999999999500002, 0.0, 0.7266423406817211, 2.4149503129080787 }

рдПрдХ рд╕рдордорд┐рдд рддрд░ рдЕрдирд┐рдпрдорд┐рдд рд╣реЗрдХреНрд╕рд╛рдЧрдиред рдЙрджрд╛рд╣рд░рдгрдХреЛ рдЬрд╡рд╛рдлрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЖрдзрд╛ рддреЗрд░реНрд╕реЛ рд░реВрдкрдорд╛ рдХрд╛рдЯреНрдиреЗ рд░ рдкреНрд░рддреНрдпреЗрдХ рдЯреБрдХреНрд░рд╛рд▓рд╛рдИ рддреАрди рднрд╛рдЧрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдиреЗ рдХреЗрдиреНрджреНрд░рдорд╛ рджреБрдИрд╡рдЯрд╛ рдЕрдиреНрдп рдХрд╛рдЯреНрдиреЗрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫред

TopCoder Open 2019 рдЪреБрдиреМрддреА: рдкрд╛рдИрд▓рд╛рдИ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН

1)

{0, 1000, 0}
{0, 0, 1000}
рд▓рд╛рдн:
{333.3333333331763, 333.3333333332546, 0.7853981633986264, 2.0344439357948154, 2.6779450445891753 }

рджрд╛рдпрд╛рдБ рддреНрд░рд┐рдХреЛрдгред рдлреЗрд░рд┐, рд╣рд╛рдореА рд╕рдордорд┐рддрд┐рдХреЛ рдЕрдХреНрд╖рдХреЛ рд╕рд╛рдердорд╛ рддреАрдирд╡рдЯрд╛ рдХрдЯрд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛рдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

TopCoder Open 2019 рдЪреБрдиреМрддреА: рдкрд╛рдИрд▓рд╛рдИ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН

2)

{40, 70, 90, 90, 50}
{30, 20, 40, 100, 60}
рд▓рд╛рдн:
{69.79517771922892, 52.77575974637605, 2.0616329654335885, 3.637826104091601, 4.32123485812475 }

рдЕрдирд┐рдпрдорд┐рдд рдкреЗрдиреНрдЯрд╛рдЧрдиред

TopCoder Open 2019 рдЪреБрдиреМрддреА: рдкрд╛рдИрд▓рд╛рдИ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН

3)

{300, 400, 300, 200}
{500, 600, 700, 600}
рдлрд┐рд░реНрддрд╛рд╣рд░реВ: {299.99999999974995, 599.9999999995, 0.0, 1.107148717794088, 2.034443935795705 }

рдПрдЙрдЯрд╛ рд╡рд░реНрдЧ рекрел рдбрд┐рдЧреНрд░реА рдШреБрдорд┐рдпреЛред

TopCoder Open 2019 рдЪреБрдиреМрддреА: рдкрд╛рдИрд▓рд╛рдИ рдЫ рдЯреБрдХреНрд░рд╛рдорд╛ рдХрд╛рдЯреНрдиреБрд╣реЛрд╕реН

[рд╕реНрд░реЛрдд]

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рдореИрд▓реЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реЗрдВ

  • 10 рдорд┐рдиреЗрдЯ рднрдиреНрджрд╛ рдХрдо рдорд╛

  • 10-30 рдорд┐рдиреЗрдЯ

  • 30-60 рдорд┐рдиреЗрдЯ

  • реи- hours рдШрдгреНрдЯрд╛

  • реи рдШрдгреНрдЯрд╛ рднрдиреНрджрд╛ рдмрдвреАрдорд╛

  • рдЕрдиреНрдп

42 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 47 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди