SPOJ, zadanie Obżartuchy - dane, dla których program nie działa

0

Witam,
Mam problem z zadaniem Obżartuchy ze strony SPOJ-a.
Testowałem na wielu danych, za każdym razem daje prawidłowe wyniki.
Niestety próbując wysłać kod na stronę - system wywala błąd.
Nie potrafię znaleźć błędu ani danych dla których zadanie "wysypie się".
Proszę o pomoc, jakąkolwiek wskazówkę, albo dane które obalą mój program.
Poniżej podaję swoje dane, dla których testowałem i sam kod programu:

 
#include <iostream>

using namespace std;

int z, n, m, czas, ile_pudelek, maksymalna_ilosc;

int main()
{
    cin >> z;
    for(int i=0;i<z;i++)
    {
        cin >> n >> m;
        ile_pudelek = 0;
        for(int j=0;j<n;j++)
        {
            cin >> czas;
            maksymalna_ilosc = 0;
            if(czas==86400)
                ile_pudelek++;
            else if(czas>86400 || czas*m>86400)
                continue;
            else
                while(maksymalna_ilosc < 86400)
                {
                    maksymalna_ilosc += czas*m;
                    ile_pudelek++;
                }
        }
       cout << ile_pudelek << endl;
    }
    return 0;

}

Dane, które przetestowałem:
http://wklej.org/id/2779933/

Z góry dziękuje ! :)

1
  1. Dlaczego nikt nie odpowiada w moim wątku?
  2. nieczytelne nazewnictwo, trzeba się mocno zastanawiać o co w tym kodzie chodzi
  3. używasz liczb zmiennoprzecinkowych. Nie ma to sensu i prowadzi do błędu
  4. po co ta zabawa z 3600? od razu licz dla całej doby
0
  1. Nazwa tematu zmieniona, kod wklejony bezpośrednio na stronę i sformatowany.
  2. Nazwy zmiennych zostały poprawione - powinno być bardziej czytelne dla kogoś z "zewnątrz".
  3. Typ zmiennoprzecinkowy został zastąpiony liczbami całkowitymi - dziękuje, tutaj faktycznie był mój błąd.
  4. Tutaj również poprawione - niepotrzebnie tworzyłem dodatkową zmienną, również dziękuje.

Reakcja na SPOJU nadal taka sama - błędna odpowiedź, program działa prawidłowo dla wszystkich testowanych zmiennych.

1

Przekombinowałeś, ale się starałeś więc łap działający kod

#include <iostream>
#include <math.h>

using namespace std;

int main()
{
    int testy = 0;
    cin >> testy;
    while (testy--)
    {
        int ile_las = 0, wpud = 0, wynik = 0;
        cin >> ile_las >> wpud;
        for (int i =0; i < ile_las;i++)
        {
            int czas = 0;
            cin >> czas;
            wynik = wynik + (86400 / czas);
        }
        cout << ceil(float(wynik) / float(wpud)) << "\n";
    }
    return 0;
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1