From 791e374f33bbb282d8f358dee562d0630ea9a4a9 Mon Sep 17 00:00:00 2001 From: Ben Kyd Date: Wed, 3 Dec 2025 07:15:40 +0000 Subject: [PATCH] day 3 part 2 (not working) --- 2025/aoc | Bin 82976 -> 82976 bytes 2025/day3.hpp | 40 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/2025/aoc b/2025/aoc index 63b062fef1b1b665c5bcfec8063be68dd4ff3b61..bdb30da742b46f411cf61e178e1c0131e50df86f 100755 GIT binary patch delta 8551 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 E0FhNcT>t<8 delta 8337 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 fcj@fUZ!fH0H2$-MHx8UW@%yoPw-@D2q8 FindNextBiggestNoOffset(std::string bank, int startOffset, int endOffset) + { + int biggest = 0, biggestIndex = 0; + for (int i = startOffset; i < bank.length() - endOffset; i++) + { + if (bank[i] - '0' > biggest) + { + biggest = bank[i] - '0'; + biggestIndex = i + 1; + } + } + + return {biggest, biggestIndex}; + } + uint64_t PartTwo(File& f) override { + uint64_t totalJoltage = 0; + + for (auto bank : f.Lines()) + { + uint64_t joltage = 0; + int start = 0; + + for (int i = 0; i < 12; i++) + { + joltage *= 10; + + auto res = FindNextBiggestNoOffset(bank, start, 12 - i); + + start = res.second; + joltage += res.first - '0'; + } + + std::cout << joltage << std::endl; + + totalJoltage += joltage; + } + + return totalJoltage; } };