This documentation is automatically generated by online-judge-tools/verification-helper
# verification-helper: PROBLEM https://yukicoder.me/problems/no/955 # verification-helper: ERROR 1e-11 require "../../src/math/quadratic_equation" a, b, c = read_line.split.map(&.to_i64) ans = Math.quadratic_equation(a, b, c) if ans.nil? puts -1 else puts ans.size, ans.join('\n') end
# verification-helper: PROBLEM https://yukicoder.me/problems/no/955 # verification-helper: ERROR 1e-11 # require "../../src/math/quadratic_equation" module Math # Solve `ax^2 + bx + c = 0`. def quadratic_equation(a : Int64, b : Int64, c : Int64) : Array(Float64)? if a == 0 && b == 0 && c == 0 nil elsif a == 0 && b == 0 [] of Float64 elsif a == 0 [-(c / b)] elsif (d = b * b - a * c * 4) < 0 [] of Float64 elsif d == 0 [-b / (a * 2)] else x1 = (b > 0) ? (-b - Math.sqrt(d)) / (a * 2) : (-b + Math.sqrt(d)) / (a * 2) x2 = (c / a) / x1 [{x1, x2}.min, {x1, x2}.max] end end end a, b, c = read_line.split.map(&.to_i64) ans = Math.quadratic_equation(a, b, c) if ans.nil? puts -1 else puts ans.size, ans.join('\n') end