From 87c6c27c6d5f27181540bf807b281f7568cf49ba Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 4 Dec 2024 19:39:53 +0100 Subject: [PATCH] Add solution for day-01 part two --- 2024/day-01/main.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/2024/day-01/main.cpp b/2024/day-01/main.cpp index d21b9f6..c201014 100644 --- a/2024/day-01/main.cpp +++ b/2024/day-01/main.cpp @@ -33,12 +33,25 @@ int main() sort(list1); sort(list2); + // Part one int totalDistance = 0; - for (size_t i = 0; i < list1.size(); i++) { int distance = list1[i] - list2[i]; totalDistance += (distance >= 0) ? distance : -distance; } - cout << "Total distance between the lists: " << totalDistance << endl; + + // Part two + int similarityScore = 0; + size_t index2 = 0; + for (size_t index1 = 0; index1 < list1.size(); index1++) { + while ((index2 < list2.size()) && (list1[index1] > list2[index2])) { + index2++; + } + while ((index2 < list2.size()) && (list1[index1] == list2[index2])) { + similarityScore += list2[index2]; + index2++; + } + } + cout << "Similarity Score: " << similarityScore << endl; }