I'm solving each problem with
Jelly for some reason, with the input file supplied on stdin. Solutions are timed with pypy.
Day 1 Part 1 (7 bytes, .4s):Code: ƈLпỴVS
Day 1 Part 2 (18 bytes, 8m18s):Code: ƈLпỴV©ṪLṙɼṛ/+ƲÐḶṾ
Day 2 Part 1 (16 bytes, .25s):Code: ƈLпỴĠẈ2,3e€Ʋ€SP
Day 2 Part 2 (19 bytes, .9s):Code: ƈƈ¹Ð¿ỴṖŒcZEƇḢ€Ɗ€LÐṀ
Day 3 Part 1 (55 bytes, 5m15s):Code: ‘⁹Ѥ¦¶5ñ⁸p6ñ⁸¤ḅȷ¶+3ị⁹Ḷ+ị¶ẋȷ²¤¶ƈƈ¹Ð¿ỴṖ¹⁶eØD$?€Ḳ$€Vñƒ¢>1S
Day 3 Part 2 (46 bytes, [broken?]):Code: Ḋs2Ɗ€ZẎ€ṙ2<ɗ/Ạ¶ƈƈ¹Ð¿ỴṖ¹⁶eØD$?€Ḳ¹ƇVƲ€ŒcÇÐḟẎḢ€Æṃ
Day 4 Part 1 (84 bytes, 1.8s):Code: 15ịñÞ@WŻ60¡ṭɗñƇ@?¶0ị=¶6ịr⁹Ḣ¤‘ṛ¦@⁹Ṫ¤ṭ¶6ị‘;¶ƈƈ¹Ð¿ỴṖṢ¹⁶eØD$?€Ḳ$€VL_20ṠƊŀ@ƒ⁸ṖS$ÐṀḢµṪ×M’$
Day 4 Part 2 (84 bytes, 1.8s):Code: 15ịñÞ@WŻ60¡ṭɗñƇ@?¶0ị=¶6ịr⁹Ḣ¤‘ṛ¦@⁹Ṫ¤ṭ¶6ị‘;¶ƈƈ¹Ð¿ỴṖṢ¹⁶eØD$?€Ḳ$€VL_20ṠƊŀ@ƒ⁸ṖṀ$ÐṀḢµṪ×M’$
Day 5 Part 1 (11 bytes, 21s):Code: ɠṖ;ŒsṪ=ɗ?/L
Day 5 Part 2 (21 bytes, ∞d):Code: ɠ,`Œtḟ@Ṗ;ŒsṪ=ɗ?/ʋ€`ẈṂ
Day 5 Part 2 (22 bytes, 19m30s):Code: ɠQ,`Œtḟ@Ṗ;ŒsṪ=ɗ?/ʋ€¹ẈṂ
Day 7 Part 1 (39 bytes, .4s):Code: ṖZḟ/Ṃ©ṭṪṭn®Ḣ$Ƈ¶ƈƈ¹Ð¿Ỵf€ØAḊ€µZḟ@/ḢṭÇL’$¿
Day 10 Part 1 (67 bytes, 41s):Code: «/r»/
ƈƈ¹Ð¿ỴṖḲe”-ṭØD¤$Ƈ€¹ƇƊ€VUŒH€+\€,ÑṪẈƊ€⁼Ṣ$ɗ¿`_@/€µÇ,þ/e€€ị“# ”ZY
Day 10 Part 2 (51 bytes, 43s):Code: ƈƈ¹Ð¿ỴṖḲe”-ṭØD¤$Ƈ€¹ƇƊ€VUŒH€+\€,«/r»/ƊṪẈƊ€⁼Ṣ$ɗп`L_2
Day 11 Part 1 (31 bytes, 3.3s):Code: +⁵µ×⁹+³×µṚ3ị
300ñþ`S3Ƥ€S3ƤŒMḢUṾ
Day 11 Part 2 (38 bytes, 5m15):Code: +⁵µ×⁹+³×µṚ3ị_5
S⁹Ƥ€S⁹Ƥ
300µñþ`çⱮµŒMḢUṾ
Day 12 Part 1 (43 bytes, .3s):Code: ɠḲṪ,ƈƈ¹Ð¿ỴḊṖṢṪ€¤=”#UŻ$8¡ḄNịɗ5Ƥ⁹,ʋ/20¡ḢT_41S
Day 12 Part 2 (47 bytes, ∞y):Code: ɠḲṪ,ƈƈ¹Ð¿ỴḊṖṢṪ€¤=”#UŻ$8¡ḄNịɗ5Ƥ⁹,ʋ/5ȷ10¡ḢT_ȷ11’S
Day 12 Part 2 (71 bytes, .35s):Code: UŻ$8¡ḄNịɗ5Ƥ⁹Ñt0,
i1_3x2-ṭḊŻ+ɗɼṛ
®5ȷ10 1¦S
ɠḲṪ,ƈƈ¹Ð¿ỴḊṖṢṪ€¤=”#ñ/ÐLḢT+¢’S
Day 12 with number of iterations as input (43 bytes):Code: ɠḲṪ,ƈƈ¹Ð¿ỴḊṖṢṪ€¤=”#UŻ$8¡ḄNịɗ5Ƥ⁹,ʋ/¡ḢT_³Ḥ¤’S