Cześć,
błędy:
1: [linia:5] Podczas definicji zmiennych poza funkcją, zmienne mają ustaloną wartość na początku. W przypadku, gdy nie ma inicjalizacji, domyślnie przyjmują wartość 0, czyli taki zapis:
int ile, N, M, *czas=new int[N], suma=0, paczki;
powoduje, że tworzonych jest 6 zmiennych, one się tworzą po kolei, na samym początku programu, jeszcze przed tym, jak zostanie uruchomiona funkcja main, czyli:
ile ma wartosc 0
N ma wartość 0
M ma wartość 0
czas jest wskaźnikiem i po inicjalizacji wskazuje na obszar pamięci zaalokowany dla N elementów, czyli dla 0 elementów.
suma po inicjalizacji ma wartośc 0
paczki ma wartość 0
…
Dopiero po tym jest uruchamiana funkcja main, która to tak na prawdę jest w stanie wczytać wartośc N i innych danych.
2: [linia:13] Gdy tworzysz tablicę dla N elementów, to indeksy w tablicy zaczynają się od 0, czyli od 0 do N-1.
Czy w tej pętli czasami i z j sie nie pokiełbasiły?
3: W jednym odpaleniu programu może być wykonwanych wiele zestawów testowych, co oznacza, że N może się zmieniać pomiędzy testami.
4: Gdy alokujesz dane za pomocą new to musisz zadbać o to, aby na końcu zwolnić pamięć:
...
czas = new int [N];
// kod uzywający tablicę czas
delete [] czas;
...
Próbuj dalej 