Run Time Error

I am getting runtime error in Ambiguous Permutations Problem:
#include
using namespace std;

int main() {
int flag,i=0,n,a[n];
cin>>n;
while(n){
flag=0; i=0;
for(i;i<n;i++){
cin>>a[i];
}
i=0;
for(i;i<n;i++){
if(a[a[i]-1]!=i+1){flag=1; cout<<“not ambiguous”<<endl; break;}
}
if(flag==0){cout<<“ambiguous”<<endl;}
cin>>n;
if(n==0){break;}
}
return 0;
}

Test cases are working good. But while submitting it reads runtime error. Could you please fix this?