From f00ce4b4ad3a542a9cc8d4f25a48d153b6a6abe7 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sun, 1 Dec 2024 09:59:51 +0100 Subject: benutze std::accumulate statt einer Schleife --- 2024/src/day01.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/2024/src/day01.cpp b/2024/src/day01.cpp index 61b3c29..6578c54 100644 --- a/2024/src/day01.cpp +++ b/2024/src/day01.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include using namespace std; @@ -39,8 +40,7 @@ part1(const vector>& data) long total_distance = 0; for ( size_t i = 0; i != lefts.size(); ++i ) { - long distance = abs(lefts[i] - rights[i]); - total_distance += distance; + total_distance += abs(lefts[i] - rights[i]); } cout << total_distance << endl; } @@ -56,10 +56,9 @@ part2(const vector>& data) rights[rhs]++; } - long score = 0; - for ( const auto& lhs: lefts ) { - score += lhs * rights[lhs]; - } + auto score = accumulate(lefts.begin(), lefts.end(), 0, [&](auto init, auto lhs) { + return init + lhs * rights[lhs]; + }); cout << score << endl; } -- cgit v1.3