I had basically the same idea yesterday, and created a script to test it. I believe it worked the same as yours, except I picked the lengths more carefully, using some math (but with simplifying assumptions so they're not optimal).
I used the following lengths: Day value 1 for 800 days, 2 for 731 days, 4 for 666 days, 8 for 604 days, 16 for 549 days, 32 for 480 days, 64 for 411 days, 1 for 550 days, 2 for 480 days, 4 for 411 days and each length 411 days after that.
Simulation showed the average number of days required was around 4630.
I had basically the same idea yesterday, and created a script to test it. I believe it worked the same as yours, except I picked the lengths more carefully, using some math (but with simplifying assumptions so they're not optimal).
I used the following lengths:
Day value 1 for 800 days, 2 for 731 days, 4 for 666 days, 8 for 604 days, 16 for 549 days, 32 for 480 days, 64 for 411 days, 1 for 550 days, 2 for 480 days, 4 for 411 days and each length 411 days after that.
Simulation showed the average number of days required was around 4630.