4 void set_calories(int* current, int* highest) {
5 if (*current > highest[2]) {
6 highest[0] = highest[1];
7 highest[1] = highest[2];
9 } else if (*current > highest[1]) {
10 highest[0] = highest[1];
11 highest[1] = *current;
12 } else if (*current > highest[0]) {
13 highest[0] = *current;
26 int current_calories = 0;
27 int highest_calories[3] = {0, 0, 0};
29 while ((characters = getline(&buffer, &bufsize, stdin)) != -1) {
32 buffer[characters] = 0;
34 if (characters == 0) {
35 set_calories(¤t_calories, highest_calories);
38 current_calories += atoi(buffer);
41 set_calories(¤t_calories, highest_calories);
42 printf("The 3 elves with the highest calories have %d calories",
43 highest_calories[0] + highest_calories[1] + highest_calories[2]);