Help me on -Problem Deepak and prime seive ......only one test case run

#include
#include
using namespace std;
void print_prime(int arr[],int size,int n)
{
if(n==0) return;
for(int i=4;i<size;i+=2)
arr[i]=0;
arr[1]=0;
arr[0]=0;
for(int i=3;i<size;i+=2)
{
for(int j=i*i;j<size;j+=i)
arr[j]=0;
}

int count=1;
cout<<2<<" ";                    //coz n is min =1
for(int i=3;i<size;i++)
{
   if(arr[i])
   {
       cout<<i<<" ";
       count++;
       if(count==n)break;
   }
}

}
int main()
{
int n,size;
cin>>n;
if(n * n<5000000)size = n*n;
else
size= n;
int arr[size];
fill_n(arr,size,1);
print_prime(arr,size,n);
return 0;
}