1 test case is not passing . i am not able to understand what is the error?

#include
using namespace std;

int main() {

long long int i,j,arr[500005]={0};
long long int kaam[500005]={0};
long long int n;
cin>>n;
if(n==0)
{
	cout<<0;
	return 0;
}
for(i=3; i<=500000; i+=2)
{
	arr[i]=1;
}
for(i=3; i<=500000;i+=2)

{
if(arr[i]==1)
{
for(j=2*i; j<=500000; j+=i)
{
arr[j]=0;
}
}
}
arr[0]=0;
arr[1]=0;
arr[2] =1;
j=1;
for(i=0; i<=500000; i++)
{
if(arr[i]==1)
{
kaam[j]=i;
j++;
}
}
cout<<kaam[n];

return 0;

}

hello @jatin_wadhwa
ur sieve size should be bigger than 5000 000 th prime number.
check value of 5000 000 th prime number from internet and declare ur sieve size greater than that,