First two test case are giving runtime error what is issue in my code?

#include
using namespace std;

void prime(bool prime_table[])
{
for(int i=2;ii<100000001;i++)
{
if(prime_table[i]==0)
{
for(int j=(i
i);j<100000001;j+=i)
prime_table[j]=1;
}
}
}
int main()
{
int n;
cin>>n;

bool prime_table[100000001]={1,1};
prime(prime_table);


int ans=0;
int i=2;
while(n!=0)
{
	if(prime_table[i]==0)
	{
		n--;
		ans=i;
	}
	i++;
}
cout<<ans;

}