• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obżartuchy Spoj - problem z funkcją ceil

Object Storage Arubacloud
0 głosów
308 wizyt
pytanie zadane 28 lutego 2016 w C i C++ przez Pampi Początkujący (390 p.)

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;
}

 

2 odpowiedzi

+1 głos
odpowiedź 28 lutego 2016 przez jeremus Maniak (59,720 p.)
wybrane 28 lutego 2016 przez Pampi
 
Najlepsza

To nie problem z ceil tylko argumentem ceil

ciastek i wpudelku  to typ integer  , więc i ciastek/wpudelku to tez integer ( ucięta część ułamkowa)

najprościej zrób tak :

ceil( 1.0* ciastek/ wpudelku )

albo inne rzutowanie na typ float

komentarz 28 lutego 2016 przez Pampi Początkujący (390 p.)

Racja działa ^^ miałem też błąd taki, że nie zerowałem liczby ciastek przy kolejnym teście ... 
co prawda Spoj nie akceptuje kodu, ale chyba działa jak powinno laugh

Podobne pytania

–1 głos
1 odpowiedź 316 wizyt
pytanie zadane 16 lutego 2019 w SPOJ przez matzar24 Początkujący (250 p.)
0 głosów
1 odpowiedź 157 wizyt
0 głosów
1 odpowiedź 399 wizyt

92,584 zapytań

141,433 odpowiedzi

319,668 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...