diff options
Diffstat (limited to 'src/2020/day9/aoc.cpp')
-rw-r--r-- | src/2020/day9/aoc.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/2020/day9/aoc.cpp b/src/2020/day9/aoc.cpp index c7a826f..10ba789 100644 --- a/src/2020/day9/aoc.cpp +++ b/src/2020/day9/aoc.cpp @@ -30,11 +30,25 @@ bool check25(int i, int* weak) { } bool check_contiguous(int i, int* end, int target) { - return false; + if (target == 0) { + *end = i; + return true; + } + if (target < 0) { + return false; + } + return check_contiguous(i + 1, end, target - numbers[i]); } static void minmax(int x, int y, int* min, int* max) { - + for(int i = x; i < y; i++) { + if (*min > numbers[i]) { + *min = numbers[i]; + } + if (*max < numbers[i]) { + *max = numbers[i]; + } + } } std::pair<int, int> day9(line_view file) { |