diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-12-05 16:54:51 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-12-05 16:54:51 +0800 |
commit | 1a311c7983f71668b6f892018328f1669f3574fd (patch) | |
tree | 755b5d9f8a70b144fa92d77f9882df4dc8d4150b /src/2020/day9/aoc.cpp | |
parent | af1074a592e6cd246dd2db726ccc4eb6873e3ba4 (diff) | |
download | advent-of-code-1a311c7983f71668b6f892018328f1669f3574fd.tar.gz advent-of-code-1a311c7983f71668b6f892018328f1669f3574fd.zip |
2020 day9
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) { |