aboutsummaryrefslogtreecommitdiff
path: root/2015/14/puzzle-1.bc
diff options
context:
space:
mode:
Diffstat (limited to '2015/14/puzzle-1.bc')
-rw-r--r--2015/14/puzzle-1.bc25
1 files changed, 25 insertions, 0 deletions
diff --git a/2015/14/puzzle-1.bc b/2015/14/puzzle-1.bc
new file mode 100644
index 0000000..d36cafd
--- /dev/null
+++ b/2015/14/puzzle-1.bc
@@ -0,0 +1,25 @@
+/* Return the largest element from array `a` of length `l` */
+define max(a[], l)
+{
+ auto m, i
+ for (i = 0; i < l; i++) {
+ if (a[i] > m)
+ m = a[i]
+ }
+ return m
+}
+
+/* Return the kilometers traveled by a raindeer that flys with speed `s` km/s for `t` seconds before
+ * needing to rest for `r` seconds.
+ */
+define calc(s, t, r)
+{
+ auto a, d
+ while (d + t <= 2503) {
+ a += s * t
+ d += t + r
+ }
+ if (d < 2503)
+ a += s * (2503 - d)
+ return a
+}