From a7a6b86002b595bc167af72606b14c67ed1bdf8f Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Wed, 24 Nov 2021 22:25:42 +0000 Subject: init commit --- 20/input | 1 + 20/solution.c | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 20/input create mode 100644 20/solution.c (limited to '20') diff --git a/20/input b/20/input new file mode 100644 index 0000000..282bc62 --- /dev/null +++ b/20/input @@ -0,0 +1 @@ +33100000 diff --git a/20/solution.c b/20/solution.c new file mode 100644 index 0000000..cf61687 --- /dev/null +++ b/20/solution.c @@ -0,0 +1,41 @@ +#include +#include +#include + +void *emalloc(size_t s) +{ + void *p = malloc(s); + if (p != NULL) return p; + fprintf(stderr, "Ran out of memory allocating a buffer of size %zu\n", s); + exit(EXIT_FAILURE); +} + +long part1(long input) +{ + long res = -1; + long *houses = emalloc(sizeof(long) * input / 10); + #pragma omp parallel for + for (long i = 1; i < input / 10; i++) + for (long j = i; j < input / 10; j++) + houses[j] += i * 10; + puts("filled houses"); + for (long i = 1; i < input / 10; i++) { + if (houses[i] >= input) { + res = i; + break; + } + } + free(houses); + return res; +} + +long part2(long input) +{ + return -1; +} + +int main(void) +{ + long input = 33100000; + printf("%ld\n", part1(input)); +} -- cgit v1.2.3-54-g00ecf