17 / 192
Jul 2014

Nie wiem dlaczego nie wrzuca moich odpowiedzi ;p Musisz wyzerować "c" i "o"...najlepiej zrób ich deklaraję i inicjalizcję w pętli for... int c = 0, o=0...

Deklaracja zmiennych używanych tylko w pętli po za nią - bardzo niedobrze, bo zostają wartości z poprzedniego obiegu. Przeniosłem int N,M,temp,c=0,o=0; do pętli for (int i....) i mi zaliczyło. Swoją drogą zmienna o jest nieużywana, to pewnie jakaś pozostałość po wcześniej wersji.

ps jak tobie też zaliczy, to usuń kod z forum.

2 years later

błędem jest istnienie tej tablicy smile

int n[ile_test-1][ile_abom];

prawdopodobnie wynikający z głownie braku rozumienia co robisz

w efekcie masz o jeden wiersz tablicy za mało, i w ostatnim teście mażesz po pamięci poza tablicą, dla małych testów może nie mieć to znaczenia, dla dużych musi się źle skończyć

a przecież tablica dwuwymiarowa nie jest ci potrzebna (a i tak kolejne przewymiarowanie zamazuje poprzednie dane), a oczywistym jest, że niepotrzebna jest jakakolwiek tablica

generalną zasadą jest używanie tablic statycznych o maksymalnym rozmiarze potrzebnym do rozwiązania problemu (oczywiście o ile to możliwe)

4 months later

1
1 1
86500

Poza tym, możesz też pomysleć jak a) zrobić to bez tablic (zauważ, że wartości, które tam wczytujesz potrzebne Ci są właściwie tylko w jednym momencie) i b) jak zrobić to efektywniej (to dodawanie po 1 zjedzonym czy po 1 pudełku jest niezbyt piękne - da się sprawdzić np. liczbę zjedzonych przez jednego obżartucha jednym dzieleniem).

3 months later

Teraz wczytywanie jest wystarczająco szybkie. Wystarczy teraz, że wyeliminujesz tablicę i będzie AC.
Niepotrzebnie też tworzysz warunki typu: "if(liczbaUczestnikow>0 && liczbaUczestnikow<=10000 && paczkaCiastek>0 && paczkaCiastek<=1000000000)" - to autor zadania deklaruje, że testy są odpowiednio dopasowane do tych warunków, Ty tego nie musisz potwierdzać. Ba! Twój kod powinien również dawać dobre wyniki jeśli nie wszystkie z tych warunków są spełnione (w rozsądnych granicach) na wypadek gdyby się jednak autor pomylił lub zmienił testy.

5 months later
8 days later

Hej, Pierwszy raz rozwiązuje zadanie na SPOJ i juz pierwsze problemy. Gdzie ja mam błąd w kodzie? U mnie wszystko dobrze kompiluje, chyba wszystkie przypadki założyłam, ale może tutaj jest cos inaczej odczytywane. Błagam o pomoc, ledwo zaczęłam, a juz jestem zniechęcona:(

for(int i=0; i<os;i++)
{c[i]=floor(86400/t[i]);
suma+=c[i];
}
suma/=szt;
cout<<ceil(suma)<<endl;

return 0;

}

To zadanie nie współpracuje z ceil-em (sprawdziłem na moim zatwierdzonym kodzie), będziesz musiał if-ować. Pewnie jakiś błąd zaokrąglenia z liczbami zmiennoprzecinkowymi

Ok, dzięki, to dobrze wiedzie, że chyba dobrze rozwiązałam, ale tak jak mówisz, przerobie program. Dzięki serdeczne:)

Zapomniałem wspomnieć, usuń kod z forum jak już ci zacznie działać

Cześć proszę Was o pomoc.
Moje rozwiązanie wygląda tak:

#include <iostream>
#include <math.h>
using namespace std;

int main(){
	long double calosc=0;
	int a;
	long long int N;
	long long int M;
	long double wynik;
	cin >> a;
	for (int i = 0; i < a; i++) {
		cin >> N >> M;
		int *tablica = new int[N];
		for (int j = 0; j < N; j++) {
			cin >> tablica[j];
			calosc += floor((24*60*60) / tablica[j]);
		}
		wynik = calosc / M;
		cout << ceil(wynik);
		calosc = 0;
	}
	return 0;
}

SPOJ wyświetla mi błędną odpowiedź. Nie wiem co jest nie tak, przy przykładowych danych jest ok.

Nie nie jest ok, bo mi wyświetla 82 przy przykładowych danych. Wczytuj wejście z pliku albo testuj np na ideone, wtedy będziesz widział że zapomniałeś o << "\n". Poza tym jak już pisałem wyżej to zadanie nie współpracuje z ceil-em.

ps na chwilę obecną dodawanie kodu na tym forum leży i kwiczy, lepiej wkej na ideone.com i daj tu linka.

Nie zupełnie. Nie ma tagu bbone, ale jest znacznik [tag] preformatted text [</>], wystarczy zaznaczyć kod i kliknąć w ten znacznik lub ctrl+K. Być może wystarczającym jest też tag quote.
Właśnie tak poprawiłem post krakersa, ale oczywiście wklejenie linku do ideone.com też jest b. dobrym pomysłem.

Dlaczego pokazuje, że jest źle? Skoro wszystko działa dla różnych przykładów

Powywalaj zbędne endl oraz pytania, i usuń kod z forum bo sędzia go przyjmie. Odpowiedzą na zestaw z zadania ma być

8
2

a nie

Ile zestawow: Podaj liczbe uczestnikow i ilosc ciastek w pudelku dla zestawu: Podaj 1 czas jedzenia ciastka: Podaj 2 czas jedzenia ciastka: 
8

Podaj liczbe uczestnikow i ilosc ciastek w pudelku dla zestawu: Podaj 1 czas jedzenia ciastka: Podaj 2 czas jedzenia ciastka: Podaj 3 czas jedzenia ciastka: 
2

Swoją drogą to pierwszy kod z ceil-em jaki widzę przyjęty przez sędziego.

ps po co ci ta tablica skoro z niej nie korzystasz?