From 2e09dc131e1c8fad8aac0e51fe4162ecdcf5194e Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Thu, 7 Dec 2017 15:59:03 +0100 Subject: day06 --- day06 | 1 + day06.cc | 24 ++++++++++++++++++++++++ day06.k | 5 +++++ 3 files changed, 30 insertions(+) create mode 100644 day06 create mode 100644 day06.cc create mode 100644 day06.k diff --git a/day06 b/day06 new file mode 100644 index 0000000..32e8d7e --- /dev/null +++ b/day06 @@ -0,0 +1 @@ +11 11 13 7 0 15 5 5 4 4 1 1 7 1 15 11 diff --git a/day06.cc b/day06.cc new file mode 100644 index 0000000..f556f96 --- /dev/null +++ b/day06.cc @@ -0,0 +1,24 @@ +#include +#include +#include +#include +#include + +using namespace std; + +int +main() { + map, int> seen; + int p1, i; + + vector v{istream_iterator(cin), {}}; + + for (p1 = 0; seen.emplace(v, p1).second; p1++) { + auto m = max_element(begin(v), end(v)); + for (i = *m, *m = 0; i-- > 0; ++*m) + if (++m == end(v)) + m = begin(v); + } + + cout << p1 << endl << p1 - seen[v] << endl; +} diff --git a/day06.k b/day06.k new file mode 100644 index 0000000..eebb011 --- /dev/null +++ b/day06.k @@ -0,0 +1,5 @@ +x[1]-0,*x:*{x@x)=(!#x)}\.*0:`day06 / 4074 2793 + +x[1]-0,*x:*a@<(a:.=5000{x+(+/r*~^r:(0N;#x)#((1+m;x@m)@)#!2)-x*(m:*>x)=!#x}\.*0:`day06)[;1] + +\\ -- cgit 1.4.1