summary refs log tree commit diff homepage
path: root/2020
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2020/day09.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/2020/day09.c b/2020/day09.c
new file mode 100644
index 0000000..f67fb4e
--- /dev/null
+++ b/2020/day09.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <stdlib.h>
+enum { Cap = 25 };
+static int ring[Cap];
+static size_t index;
+static void push(int x) {
+	ring[index++ % Cap] = x;
+}
+static int valid(int x) {
+	for (int i = 0; i < Cap; ++i) {
+		for (int j = 0; j < Cap; ++j) {
+			if (ring[i] == ring[j]) continue;
+			if (ring[i] + ring[j] == x) return 1;
+		}
+	}
+	return 0;
+}
+int main(void) {
+	int x;
+	while (EOF != scanf("%d\n", &x)) {
+		if (index < Cap || valid(x)) {
+			push(x);
+		} else {
+			printf("%d\n", x);
+			break;
+		}
+	}
+}
/td>Add shotty -cJune McEnroe 2019-07-13Add DL to shottyJune McEnroe 2019-07-12Color html rather than bodyJune McEnroe If background-color is only set on body then overscroll in Safari reveals white. 2019-07-12Make author consistent and update URLsJune McEnroe 2019-07-12Move to www/text.causal.agencyJune McEnroe 2019-07-12Add new causal.agency with shotty shotsJune McEnroe 2019-07-12Use -s to infer terminal sizeJune McEnroe 2019-07-12Add DCH to shottyJune McEnroe This makes htop mostly work. Scrolling region still missing. 2019-07-12Support insert mode in shottyJune McEnroe This is how curses puts characters into the bottom-right cell of the terminal. 2019-07-11Don't do carriage return on line feedJune McEnroe 2019-07-11Interpret 256color-style SGRsJune McEnroe 2019-07-11Use inline style rather than <b>, <i>, <u>June McEnroe 2019-07-11Factor out clearJune McEnroe 2019-07-11Add bright option to shottyJune McEnroe 2019-07-11Output <b>, <i>, <u> in shottyJune McEnroe 2019-07-10Ignore SM and RMJune McEnroe 2019-07-09Add shotty man page and build itJune McEnroe 2019-07-09Add up -cJune McEnroe 2019-07-09Add options for default colors to shottyJune McEnroe 2019-07-08Use char literals consistentlyJune McEnroe