8 func Part1(input string) int {
10 Races = append(Races, Race{56, 546})
11 Races = append(Races, Race{97, 1927})
12 Races = append(Races, Race{78, 1131})
13 Races = append(Races, Race{75, 1139})
16 for _, r := range Races {
17 halfTime := r.Time / 2
18 for i := 0; i <= halfTime; i++ {
19 raceDis := i * (r.Time - i)
20 if raceDis > r.Distance {
21 total = total * (r.Time - (i * 2) + 1)
29 func Part2(input string) int {
30 r := Race{56977875, 546192711311139}
31 halfTime := r.Time / 2
32 for i := 0; i <= halfTime; i++ {
33 raceDis := i * (r.Time - i)
34 if raceDis > r.Distance {
35 return r.Time - (i * 2) + 1