Duda con error "Execution killed with signal 11"


#1

Estaba resolviendo el problema Recorriendo Venecia (venecia en el juez) e hice un envío, el cual dio como resultado “Correct” en todos los casos de prueba menos en la subtarea 7 en la cual aparece el error mencionado en el título. Este error ya me ha aparecido en otras ocasiones pero nunca supe a que se refería. Me gustaría que alguien me explicara, muchas gracias.
Adjunto mi código por si es necesario:

Código
#include<bits/stdc++.h>
using namespace std;
vector<vector<pair<int, int> > > ady;
vector<bool> visitado;
void recorrer(int nodo){
	pair<int, int> caux;
	for(int i = 0; i < ady[nodo].size(); i++){
		caux = ady[nodo][i];
		if(visitado[caux.first]){
			visitado[caux.first] = false;
			cout<<caux.first<<" ";
			recorrer(caux.second);
			cout<<caux.first<<" ";
		}
	}
}
int main(){
	int n, m, s, origen, destino, longitud, c;
	cin>>n>>m>>s;
	ady.resize(n + 1);
	visitado.resize(m);
	for(int i = 1; i <= m; i++){
		cin>>origen>>destino>>longitud;
		ady[origen].push_back({i, destino});
		ady[destino].push_back({i, origen});
		visitado[i] = true;
	}
	cout<<m * 2<<"\n";
	recorrer(s);
	cout<<"\n";
}

#2

Hola, signal 11 es lo mismo que “Segmentation Fault”, que significa que el programa terminó porque hizo alguna operación inválida.

La razón más común aunque no la única por la que ocurre este error es por acceder a arreglos fuera de sus rangos, lo que puede deberse a errores de lógica, a poner arreglos demasiado pequeños, o muchas veces a dejar variables inicializadas u olvidarse un return o un cálculo de manera que se usan datos sin inicializar.