def run(): with open('./input.txt') as f: data = f.read() calorie_counts = {} for elf, calories in enumerate(data.split('\n\n'), start=1): calorie_counts[elf] = sum(map(int, calories.strip().split('\n'))) # part 1 print(calorie_counts[max(calorie_counts, key=calorie_counts.get)]) # part 2 top_3 = list({k: v for k, v in sorted(calorie_counts.items(), key=lambda x: x[1])}.items())[-3:] print(sum([v for k, v in top_3])