package main

import (
	"fmt"

	h "git.bullercodeworks.com/brian/adventofcode/helpers"
)

func main() {
	inp := h.StdinToStringSlice()
	fmt.Println("# Answer")
	solve(inp)
}

func solve(input []string) {
	var elves []int
	var top1, top2, top3 int
	elf := 0
	var sum int
	record := func() {
		elves = append(elves, sum)
		if elf != 0 && sum > elves[top1] {
			top3, top2, top1 = top2, top1, elf
		} else if sum > elves[top2] {
			top3, top2 = top2, elf
		} else if sum > elves[top3] {
			top3 = elf
		}
		elf++
		sum = 0
	}
	for i := 0; i < len(input); i++ {
		if input[i] == "" {
			record()
			continue
		}
		sum = sum + h.Atoi(input[i])
	}
	record()
	fmt.Printf("The elf with the most calories is #%d (%d)\n", top1+1, elves[top1])
	fmt.Printf("The elf with the second most calories is #%d (%d)\n", top2+1, elves[top2])
	fmt.Printf("The elf with the third most calories is #%d (%d)\n", top3+1, elves[top3])
	fmt.Printf("Total by top three: %d\n", elves[top1]+elves[top2]+elves[top3])
}
