diff --git a/2020/13.rkt b/2020/13.rkt new file mode 100644 index 0000000..da2b801 --- /dev/null +++ b/2020/13.rkt @@ -0,0 +1,20 @@ +#lang br +(require racket/file rackunit) + +(match-define (cons target buses-all) + (for/list ([tok + (in-port read + (open-input-string + (string-replace (file->string "13.rktd") "," " ")))]) + tok)) + +(define buses (filter integer? buses-all)) + +(define (overshoot bus) + (for/last ([i (in-naturals)] + #:final (> (* i bus) target)) + (- (* i bus) target))) + +(define winner (argmin overshoot buses)) + +(check-equal? (* winner (overshoot winner)) 246) \ No newline at end of file diff --git a/2020/13.rktd b/2020/13.rktd new file mode 100644 index 0000000..ed137c9 --- /dev/null +++ b/2020/13.rktd @@ -0,0 +1,2 @@ +1000066 +13,x,x,41,x,x,x,37,x,x,x,x,x,659,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19,x,x,x,23,x,x,x,x,x,29,x,409,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,17 \ No newline at end of file