usuwam
created
last reply
- 191
replies
- 5.0k
views
- 60
users
- 18
likes
- 30
links
There are 191 replies with an estimated read time of 20 minutes.
usuwam
There are 191 replies with an estimated read time of 20 minutes.
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.
Oto link do testów do tego zadania:
tiny.pl/hx5zl67
błędem jest istnienie tej tablicy
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)
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).
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.