diff --git a/day06.py b/day06.py index c23f3b5..5653393 100644 --- a/day06.py +++ b/day06.py @@ -2,21 +2,25 @@ import fileinput from math import ceil, floor, sqrt def race(time, dist): - x1 = (time - sqrt(time * time - 4 * dist)) / 2 - x2 = (time + sqrt(time * time - 4 * dist)) / 2 + discr = sqrt(time * time - 4 * dist) + x1 = (time - discr) / 2 + x2 = (time + discr) / 2 x1, x2 = floor(x1) + 1, ceil(x2) - 1 return x2 - x1 + 1 -input = list(fileinput.input()) -times = [int(x) for x in input[0][11:].split()] -distances = [int(x) for x in input[1][11:].split()] +def main(): + input = list(fileinput.input()) + times = [int(x) for x in input[0][11:].split()] + distances = [int(x) for x in input[1][11:].split()] -part1 = 1 -for time, dist in zip(times, distances): - part1 *= race(time, dist) + part1 = 1 + for time, dist in zip(times, distances): + part1 *= race(time, dist) -time = int(input[0][11:].replace(" ", "")) -dist = int(input[1][11:].replace(" ", "")) -part2 = race(time, dist) + time = int(input[0][11:].replace(" ", "")) + dist = int(input[1][11:].replace(" ", "")) + part2 = race(time, dist) -print(part1, part2) + print(part1, part2) + +main()