#include #include #define MAX_NUMBERS 1024 int parse_input(long int numbers[MAX_NUMBERS], char file_name[8]) { int i; FILE * file = fopen(file_name, "r"); char line[16]; char number_char[16]; int numbers_count = 0; if (file == NULL) return -1; while (fgets(line, sizeof line, file) != NULL) { for (i=0; line[i] != '\n'; i++) number_char[i] = line[i]; number_char[i] = 0; numbers[numbers_count] = atoll(number_char); numbers_count++; } fclose(file); return numbers_count; } long int find_invalid(const int preamble, const long int numbers[MAX_NUMBERS], const int numbers_count) { int i,j,k; for (i=preamble; i max) max = numbers[i]; if (numbers[i] < min) min = numbers[i]; } return max + min; } int main() { printf("%ld (127)\n", solve1(5, "09i1")); printf("%ld (1492208709)\n", solve1(25, "09i2")); printf("%ld (62)\n", solve2(5, "09i1")); printf("%ld (238243506)\n", solve2(25, "09i2")); return 0; }