La camera dei cestini 30/100

Ciao a tutti, avrei bisogno di un aiuto. Quando sottopongo il mio file cpp ottengo solo 30/100. Ho provato a riguardare il codice ma non riesco a pensare ad un possibile errore. La maggiorparte degli errori dicono “Execution killed with signal 11 (could be triggered by violating memory limits)”. Qualcuno riuscirebbe ad aiutarmi?
Ecco il codice:

#include<bits/stdc++.h>
using namespace std;

vector<vector<int>>v;

void inizia(int N, int M) {
	 vector<int>v1;
	 for(int i=0;i<N;i++){
	 	v1.push_back(i);
	 }
	 v.push_back(v1);
	 for(int i=1;i<M;i++){
	 	vector<int>v2;
	 	v.push_back(v2);
	 }
}

void sposta(int a, int b) {
	if(v[a].size()>0){
		v[b].push_back(v[a].back());
	 	v[a].pop_back();
	}
}

int controlla(int a, int i) {
	if(v[a].size()<i){
		return -1;
	}else{
		return v[a][i];
	}
}

Controlla bene la condizione di esistenza dell’indice nella funzione controlla
Soluzione: size()<=i perché se la dimensione è 4 non esiste l’indice 4. Con questa modifica il codice fa 100.

1 Mi Piace

Grazie mille. Sono riuscito a fare 100/100.

1 Mi Piace