Aggiornamento della macchina virtuale Execution killed with signal 8

Stavo svolgendo questo problema ma quando vado a sottoporre tutti i casi hanno quell’errore. Il programma chiedeva di scrivere una funzione in c++, ma non lo conosco molto quindi magari ho dimenticato qualche include o qualcosa del genere.

#include <vector>
using namespace std;
long long aggiorna(int N, vector<int> A, vector<int> B) {
    int i,j;
    long long r=0;
    for(i=N-2;i>=0;i--){	
    	A[i]+=((A[i+1]-A[i])/B[i+1])*B[i+1];
    	r+=((A[i+1]-A[i])/B[i+1]);
	}
    return r;
}

Puoi trovare un elenco dei segnali qui: https://man7.org/linux/man-pages/man7/signal.7.html.

In particolare signal 8 è SIGFPE, ovvero Floating Point Exception. Molto probabilmente stai eseguendo una divisione per 0.

1 Mi Piace

la prima divisione che faceva (per B[i+1]) era appunto per 0, grazie