aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/2020/day9/aoc.cpp18
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) {