Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2024
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.84 KB | None | 0 0
  1. func main() {
  2.     var leftvals []int
  3.     var rightvals []int
  4.  
  5.     f, err := os.Open("./input.txt")
  6.     if err != nil {
  7.         panic(err)
  8.     }
  9.     defer f.Close()
  10.  
  11.     scanner := bufio.NewScanner(f)
  12.     seen_map := make(map[int]bool)
  13.     for scanner.Scan() {
  14.         split := strings.Fields(scanner.Text())
  15.         l, lerr := strconv.Atoi(split[0])
  16.         r, rerr := strconv.Atoi(split[1])
  17.         if lerr != nil || rerr != nil {
  18.             panic("split failed")
  19.         }
  20.         leftvals = append(leftvals, l)
  21.         rightvals = append(rightvals, r)
  22.         if !seen_map[l] {
  23.             seen_map[l] = true
  24.         }
  25.     }
  26.  
  27.     slices.Sort(leftvals)
  28.     slices.Sort(rightvals)
  29.  
  30.     var total_dist int
  31.     var sim_score int
  32.     for i, lval := range leftvals {
  33.         rval := rightvals[i]
  34.         total_dist += max(lval, rval) - min(lval, rval)
  35.  
  36.         if seen_map[rval] {
  37.             sim_score += rval
  38.         }
  39.     }
  40.  
  41.     fmt.Println(total_dist)
  42.     fmt.Println(sim_score)
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement