Advertisement
musifter

AoC 2024, day 2, part 1 (dc)

Dec 2nd, 2024
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.82 KB | Source Code | 0 0
  1. # Command: dc -fdc-p1.dc <input
  2.  
  3. [q]  sQ
  4. [0*] sZ
  5. [1+] sC
  6.  
  7. 0                               # sum = 0
  8. [
  9.     ? z d1=Q
  10.  
  11.     # stack: n r1 r2 ... rn sum
  12.     2- dsn                      # i=n (number of diffs)
  13.     [
  14.         _3Rr d                  # copy r2; stack: r2 r2 r1 i ...
  15.         3R- Sd                  # push diff on d stack; stack: r2 i r3 ...
  16.         r1- d0<I                # i--
  17.     ] dsIx *                    # end: 0*rn
  18.  
  19.     ld+ sa                      # a = dn + 0
  20.  
  21.     0 ln                        # i=n c=0
  22.     [
  23.         r Ldd d*v               # abs(di) di c i ...
  24.         3<Z                     # top zeroed if >= 3
  25.         la* 0<C                 # c++ if > 0
  26.         r1- d0<I                # i--
  27.     ] dsIx +                    # end: 0+c
  28.  
  29.     ln /+
  30.  
  31.     lMx
  32. ] dsMx
  33.  
  34. [Part 1: ]n rp
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement