#include "aoc.h" #include namespace aoc2022 { std::pair day13(line_view file) { int count{0}; int pair{0}; packet* ps[2] = {nullptr, nullptr}; per_line(file, [&pair, &count, &ps](line_view lv){ if (lv.length > 1) { int i = pair % 2; ps[i] = new packet; const char* p = lv.line; packet::load(&p, &ps[i]); if (i == 1 && *(ps[0]) < *(ps[1])) { printf("group[%d] is in right order\n", pair/2 + 1); count += pair / 2 + 1; } pair += 1; } return true; }); return {count, 0}; } }