This commit is contained in:
Adam Jeniski 2025-12-15 10:14:26 -10:00
parent ebdab4a2e0
commit fb82f11b39

View File

@ -24,6 +24,7 @@ int main() {
}
std::cout << "Part 1: " << part_1(v) << std::endl;
std::cout << "Part 2: " << part_2(v) << std::endl;
return 0;
}
int64_t part_1(const std::vector<Data> &v) {
@ -60,24 +61,10 @@ int64_t solve_n(int64_t n) {
}
int64_t part_2(const std::vector<Data> &v) {
int64_t ans{0};
for (auto d : v) {
for (auto n{d.min}; n <= d.max; ++n) {
ans += solve_n(n);
}
}
// todo: dead code, delete me, then inline solve_n
int64_t foobar = std::accumulate(v.begin(), v.end(), 0, [&ans](int64_t acc, Data d) {
return std::accumulate(v.begin(), v.end(), 0ll, [](int64_t acc, Data d) {
for (auto n{d.min}; n <= d.max; ++n) {
acc += solve_n(n);
}
return acc;
});
// help please :)
// why ans != foobar? looks like same but not same
// stepping through with debugger, it even seems the same on last iteration of accumulate
return ans;
}