Recursive World!

Limits: 555h33m20s, 512 MB

See following the two recursive functions:

Now you are given N, you have to find the value of F(N).


This is a companion discussion topic for the original entry at https://toph.co/p/recursive-world
#include<bits/stdc++.h>
using namespace std;
#define  fast()      ios :: sync_with_stdio(false); cin.tie(0);
#define  ll             long long int
#define  ull            unsigned long long int
#define     sz(x)       (int)x.size()
#define  ld             long double
#define  vi             vector<int>
#define vl              vector<long long>
#define vc              vector<char>
#define vs              vector<string>
#define vp              vector< pair<ll,ll> >
#define sl              set<long long>
#define sc              set<char>
#define sts             stack<string>
#define max_3(a,b,c)    max(a, max(b,c))
#define max_4(a,b,c,d)  max(a,max(b,max(c,d)))
#define min_3(a,b,c)    min(a, min(b,c))
#define min_4(a,b,c,d)  min(a,min(b,min(c,d)))
#define gcd(a,b)        __gcd(a,b)
#define lcm(a,b)        (a*b)/gcd(a,b)
#define pi              2*acos(0.0)
#define N               100006
#define      mn                 10000000000000
#define      mx                 -10000000000000
#define in              1234567890;
/*#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops")
#pragma GCC target("avx,avx2")
#include<cstdio>*/
map<ll,ll>b1;
ll a[N],b[N];
ll c(ll k){
ll i,m;
if(m==0) return 1;
else if(m==1) return 5;
else return c(k-1)+4;
}
ll f(ll n){
if(n==0) return 1;
else if(n==1) return 2;
else return f(n-1)+c(n-1);
}
int main()
{
    fast()
    ll time,n,m=mx,i,j,c=0,k,t;
    cin>>t;
    while(t--){
        cin>>n;k=f(n);
        cout<<k<<endl;
    }
}

what is the pb?