Counting sort problem issue

// there is run time error i don’t know what is the problem in code

#include
using namespace std;
void countSort(int a[],int b[],int n) {
int aMax= a[0];
for(int i=0;i<n;i++) {
if(a[i] > aMax)
aMax= a[i];
}
int hash[aMax+1]= {0};
for(int i=0;i<aMax+1;i++) {
hash[a[i]]++;
}
int j=0;

for(int i=0;i<aMax+1;i++) {
    int temp = hash[i];
    while(temp>0) {
        b[j++]=i;
        temp--;
    }
}

}
int main() {
int n;
cin >> n;
int a[n];
int b[n]={0};
for(int i=0;i<n;i++) {
cin >> a[i];
}
countSort(a,b,n);
for(int i=0;i<n;i++) {
cout<< a[i] <<endl;
}

}