From f7a39608142745d4ecbc6ad8883caeda75e37dff Mon Sep 17 00:00:00 2001 From: Jack Bond-Preston Date: Wed, 1 Dec 2021 19:01:35 +0000 Subject: [PATCH] day 1 Signed-off-by: Jack Bond-Preston --- .gitignore | 35 +++++++++++++++++++++++++++++++++++ 1/1a.cpp | 19 +++++++++++++++++++ 1/1b.cpp | 29 +++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 .gitignore create mode 100644 1/1a.cpp create mode 100644 1/1b.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1e161f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +.vscode +input.txt \ No newline at end of file diff --git a/1/1a.cpp b/1/1a.cpp new file mode 100644 index 0000000..958d67e --- /dev/null +++ b/1/1a.cpp @@ -0,0 +1,19 @@ +#include +#include +#include + +int main() { + std::ifstream infile("input.txt"); + + unsigned int curr, prev = UINT_MAX; + unsigned int increases = 0; + + while (infile >> curr) { + if (curr > prev) ++increases; + prev = curr; + } + + std::cout << increases << std::endl; + + return 0; +} \ No newline at end of file diff --git a/1/1b.cpp b/1/1b.cpp new file mode 100644 index 0000000..3a251f4 --- /dev/null +++ b/1/1b.cpp @@ -0,0 +1,29 @@ +#include +#include +#include +#include + +int main() { + std::ifstream infile("input.txt"); + + std::vector window { 0, 0, 0 }; + int curr = 0; + unsigned int increases = 0; + + infile >> window[0]; + infile >> window[1]; + infile >> window[2]; + + while (infile >> curr) { + int prev_sum = window[0] + window[1] + window[2]; + int new_sum = window[1] + window[2] + curr; + + if (new_sum > prev_sum) ++increases; + + window = { window[1], window[2], curr }; + } + + std::cout << increases << std::endl; + + return 0; +} \ No newline at end of file