My code is not running

please find flaw in my code

#include
#include

using namespace std;

int main ()
{
int n,carry,product,i,j,res_no,res[1000000000000];
cin>>n;
res[0]=1;
res_no=1;
carry=0;

for(i=2;i<=n;i++)
{
    for(j=0;j<res_no;j++)
    {
        product=res[j]*i+carry;
        res[j]=product%10;
        carry=product/10;
    }

    while(carry>0)
    {
        res[res_no]=carry%10;
        carry=carry/10;
        res_no++;
    }
}


for(i=res_no-1;i>=0;i--)
{
    cout<<res[i];
}

return 0;

}

size of res[] is very large
max size of array possible in c++ is 10^8 only

Constraints:
1 < = N < = 500

no of digit in 500! is 1135
so max this much size is required only

i hope this help
if you have more doubts regarding this feel free to ask
if your doubt is resolved mark it as resolved from your doubt section inside your course