about summary refs log tree commit diff
path: root/day17.cc
diff options
context:
space:
mode:
Diffstat (limited to 'day17.cc')
-rw-r--r--day17.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/day17.cc b/day17.cc
new file mode 100644
index 0000000..8d55407
--- /dev/null
+++ b/day17.cc
@@ -0,0 +1,26 @@
+#include <iostream>
+#include <vector>
+#include <algorithm>
+
+using namespace std;
+
+int
+main()
+{
+	int d;
+	cin >> d;
+
+	vector<int> v{0};
+	v.reserve(2018);
+	for (int i = 1; i <= 2017; i++) {
+		rotate(begin(v), begin(v) + d % size(v), end(v));
+		v.push_back(i);
+	}
+
+	long p2;
+	for (long l = 1, p = 0; l < 50'000'000; p = (p + 1 + d) % ++l)
+		if (p == 0)
+			p2 = l;
+
+	cout << v[0] << endl << p2 << endl;	// 1306 20430489
+}