Allenamento pre-oii Skyline2

Con la funzione void Inizializza(int N, int M, int* H) ti veniva passato l’array H (o meglio, un puntatore al suo primo elemento).

Un modo per tenere un riferimento permanente ad H poteva essere salvare il puntatore in un’altra variabile dello stesso tipo:

int* h;
void Inizializza(int N, int M, int* H) {
    h = H;
    // altro codice
}

int Cambia(int P, int V) {
    // qui puoi usare h
}

Comunque, l’errore Execution killed with signal <numero> (could be triggered by violating memory limits) molto spesso, forse anche troppo spesso, non è legato alla quantità di memoria allocata. Per esempio vedi questo topic.