Giving runtime error


#1

int dp[101][501];

int cr(int A,int B)
{
if(A==0)
return B==0;

if(dp[A][B]!=-1)
    return dp[A][B];
int ans=0;
for(int i=0;i<=9;i++)
{
    if(B-i>=0)
    {
        ans=(ans+cr(A-1,B-i))%1000000007;
    }
}
dp[A][B]=ans;
return ans;

}

int Solution::solve(int A, int B)
{
memset(dp,-1,sizeof(dp));
// cout<<(dp[1][2]);
int ans=0;
for(int i=1;i<=9;i++)
{
if(B-i>=0)
{
ans=(ans+cr(A-1,B-i))%1000000007;
}
}
return ans;
}