Kod działa w clion i IDEONE, natomiast w SPOJ wyrzuca błąd SIGSEGV
(The code works in clion and IDEONE, but in SPOJ it throws an error SIGSEGV)
Podejrzewam, że brakuje gdzieś delete[]
#include <iostream>
#include <cmath>
using namespace std;
long int testy;
int licznik_uczestnikow;
double M; // 1 -1000000000 liczba ciastek w jednym pudełku
int doba = 86400; //ilość sekund w 24h
int czas_jedzenia[1000][1000];//[uczestnik][nr testu]
double wynik[100];
int nr_testu = 0;
void petla_testow();
void wczytaj();
void pokaz();
int main() {
petla_testow();
pokaz();
return 0;
}
void petla_testow() {
// cout << "Wprowadz ilosc testow" << endl;
cin >> testy;
for (int i = 1; i <= testy; i++) {
wczytaj();
}
}
void wczytaj() {
nr_testu = nr_testu + 1;
// cout << "Wprowadz liczbe zaproszonych na test nr " << nr_testu << endl;
cin >> licznik_uczestnikow;
// cout << "Wprowadz ilosc ciastek w pudelku na test nr " << nr_testu << endl;
cin >> M;
for (int i = 1; i <= licznik_uczestnikow; i++) {
// cout << "Wprowadz czas jedzenia na test nr " << nr_testu << " dla osoby nr " << i << endl;
cin >> czas_jedzenia[i][nr_testu];
wynik[nr_testu] = wynik[nr_testu] + floor(doba / czas_jedzenia[i][nr_testu]) / M;
}
}
void pokaz() {
for (int i = 1; i <= testy; i++) {
wynik[i] = ceil(wynik[i]);
cout << wynik[i] << endl;
}
}
Dane wejsciowe:
2
2 10
3600
1800
3 356
123
32999
10101