Szukałem już na różnych forach, oraz czy podobne pytanie już nie padło, nic nie widzę :D
Chodzi o zadanie http://pl.spoj.com/problems/GLUTTON/
Problem polega na tym, że funkcja celi zwraca mi 7 przy pierwszym przykładzie liczb wejściowych (2;10;3600;1800) podczas, gdy funkcja dostaje 72/10 i powinna zwrócić 8. Próbowałem sprawdzić, czy z funkcja działa jak powinna, gdy podaję jej "na sztywno" 7.2 - działa! Jakby inaczej?
Dodałem nawet linijkę
cout << pomocnicza << "," << ciastek << endl;
aby móc śledzić wyniki, wszystko działa jak należy... więc gdzie jest problem?
Ps: Już nie chodzi o to, aby spoj zwracał dobry wynik... o co chodzi z tym ceil? ;/
#include <iostream>
#include <cmath>
using namespace std;
int ile;
int zaproszonych, wpudelku;
int pomocnicza = 0;
int ciastek = 0;
int main()
{
cin >> ile;
for (int i = 0; i < ile; i++)
{
cin >> zaproszonych >> wpudelku;
if ((zaproszonych<1) || (zaproszonych>10.000) || (wpudelku < 1) || (wpudelku>1000000000))
{
return 1;
}
int *czasy = new int [zaproszonych];
for (int i = 0; i < zaproszonych; i++)
{
cin >> czasy[i];
if (czasy[i] > 100000)
{
return 1;
}
pomocnicza = 0;
for (;;)
{
if ((pomocnicza + czasy[i]) > 86400)
{
break;
}
else
{
pomocnicza += czasy[i];
ciastek++;
cout << pomocnicza << "," << ciastek << endl;
}
}
}
cout << ceil(ciastek / wpudelku) << endl;
delete[] czasy;
}
return 0;
}