A repeatable template built around your recurring classes. Asleep 10pm to 6am every night. Runs are at 6am every weekday, with a long run on Saturday. Lifts are 45 minutes at home on Mon, Wed, and Fri evenings. 5–8pm on weekdays stays open for friends, clubs, and food.
The weekday social window is 15h a week, which is why food/travel/down lands near 30h instead of 21h. That's a reasonable choice. If you want more build time, give two evenings back (for example, build 5–6:30pm on Tue and Thu) and you're at the 35h target.
Monday's CSE 100 discussion (5–6pm), Tuesday's ICPC practice (6:30–8pm), and Wednesday's CSE 19x discussion (7–8pm) all overlap 5–8pm. Thursday and Friday are the only fully open evenings.
Five 1-hour runs, a 2.5h long run, and three lifts add up to roughly 10h, against the 7h ideal. The extra 3h comes out of build time. Tue and Thu are run-only days, so Monday, Wednesday, and Friday carry both a run and a lift.
Because you fall asleep in under 10 minutes, the wind-down is only 15 minutes (9:45–10pm). Keep the 6am wake time on weekends too. A consistent wake time matters more than the bedtime.
Every hour is assigned, so a midterm or project deadline will knock a week over. Sunday evening is the buffer. When something slips, the build blocks are the first to give, not sleep.
The hackathon version assumes you go home to sleep Saturday night. If you stay up all night instead, you lose about 6h of sleep and Monday is wrecked. It's also the version with the least exercise, Putnam, and homework. Alternating hackathon and normal weekends averages out close to every target.
At 6–8h a week, ICPC and Putnam are at maintenance level. Serious contenders put in 15–20h a week in season. Rotate the spike: let one pursuit take the extra hours each season while the others hold steady. ICPC regionals and the Putnam usually fall in Nov–Dec, so contests are the natural spike right now.
Memory consolidation happens during sleep. Going from 6h to 8h does more for how fast you learn than the extra 2h of work would.