aoc_omni/c/2022/1/calorie_counting.c

49 lines
906 B
C
Raw Normal View History

2024-11-29 21:03:10 -05:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../../lib/aoc.h"
int main() {
int current_cals = 0;
int current_elf = 0;
int max_elf = 0;
int second_max_elf = 0;
int third_max_elf = 0;
2024-11-30 06:03:26 -05:00
char *line;
2024-11-29 21:03:10 -05:00
2024-11-30 06:03:26 -05:00
while ((line = aoc_read_line()) != NULL) {
if (strlen(line) == 0) {
2024-11-29 21:03:10 -05:00
if (current_elf > max_elf) {
int z = current_elf;
current_elf = max_elf;
max_elf = z;
}
if (current_elf > second_max_elf) {
int z = current_elf;
current_elf = second_max_elf;
second_max_elf = z;
}
if (current_elf > third_max_elf) {
int z = current_elf;
current_elf = third_max_elf;
third_max_elf = z;
}
current_elf = 0;
2024-11-30 06:03:26 -05:00
} else {
current_cals = atoi(line);
current_elf += current_cals;
2024-11-29 21:03:10 -05:00
}
}
printf("Part 1: %d\n", max_elf);
printf("Part 2: %d\n", max_elf + second_max_elf + third_max_elf);
2024-11-30 06:03:26 -05:00
aoc_free();
2024-11-29 21:03:10 -05:00
return 0;
}