#include "aoc.h" namespace aoc2017 { bool delay_at(int t, const std::vector& vs) { for (auto& s : vs) { if (s.at_level(s.depth + t) == 0) { return false; } } return true; } std::pair day13(line_view file) { std::vector vs; per_line(file, [&vs](line_view lv) { vs.emplace_back(lv); return true; }); int severity{0}; for (auto& s : vs) { if (s.at_level(s.depth) == 0) { // s.print(); severity += s.depth * s.range; } } int delay{0}; while (!delay_at(delay, vs)) { delay++; } // for (auto& s: vs) { // s.print(); // } return {severity, delay}; } } // namespace aoc2017