aboutsummaryrefslogtreecommitdiff
path: root/day07/day07.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'day07/day07.cpp')
-rw-r--r--day07/day07.cpp40
1 files changed, 0 insertions, 40 deletions
diff --git a/day07/day07.cpp b/day07/day07.cpp
deleted file mode 100644
index f9bbd1a..0000000
--- a/day07/day07.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <iostream>
-#include <fstream>
-#include <string>
-#include <vector>
-
-#include "../utils.h"
-
-long sumdist (std::vector<int> pos, int pole, int inc) {
- long sd = 0;
- for (auto p : pos) {
- int n = abs(p-pole);
- if (inc == 1) n = (n * (n+1)) / 2;
- sd += n;
- }
- return sd;
-}
-
-int main (int argc, char *argv[]) {
- std::string raw;
- std::getline(std::ifstream(argv[1]), raw, '\0');
- std::vector<std::string> vec;
- split(vec, raw, ",");
- std::vector<int> pos;
- for (auto s : vec) pos.push_back(std::stoi(s));
-
- int minp = 10000, maxp = -10000;
- for (auto p : pos) {
- minp = std::min(minp, p);
- maxp = std::max(maxp, p);
- }
- int inc = argc > 2 ? atoi(argv[2]) : 0;
- long fuel = 100000000000;
- for (int i=minp; i<maxp; i++) {
- fuel = std::min(fuel, sumdist(pos, i, inc));
- }
-
- std::cout << "fuel: " << fuel << std::endl;
-
- return 0;
-}