Na pewno widzę błąd karygodny - używanie float na SPOJu. Używanie float zamiast double to proszenie się o guza.
Swoją drogą mi udało się to zadanie rozwiązać bez obliczeń na double nie licząc zjedzone+=floor(doba/czasy[i]), co jest zresztą głupie - po co floor, skoro dzielę dwa inty? Ale do czego biję - prosisz się o drugiego guza związanego z błędami arytmetyki zmiennoprzecinkowej.
Być może jest w Twoim kodzie jakiś ewidentny bobol i da się go mimo powyższych uwag od co usunąć a tym samym kod przerobić na AC, ale na tą chwilę go nie widzę. Sporo dzisiaj miałem roboty więc może ktoś inny pomoże?