#include
#define ll long long
using namespace std;
ll util(ll n,ll start,ll last,ll **dp)
{
if(start==n)
return 1;
if(dp[start][last]!=-1)
return dp[start][last];
if(last==0)
{
return dp[start][last]=util(n,start+1,0,dp)+util(n,start+1,1,dp);
}
else
{
return dp[start][last]=util(n,start+1,0,dp);
}
}
int main() {
ll t;
cin>>t;
while(t–)
{
ll n;
cin>>n;
ll *dp=new ll[n+1];
for(ll i=0;i<=n;i++)
{
dp[i]=new ll[2];
for(ll j=0;j<2;j++)
{
dp[i][j]=-1;
}
}
cout<<util(n,1,0,dp)+util(n,1,1,dp)<<endl;
}
return 0;
}
why this code is giving bad alloc error