Unable to figure out how to remove runtime error Planet Queries-I cses

this is my approach
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxSize = 2e5+1;
vector<vector>dp(maxSize);
int main()
{
ll n,q;
cin>>n>>q;
ll i,a[n+1];
for(i=1;i<=n;i++)
{
cin>>a[i];
}
int j;
// int elm = (log(n+1)/log(2));

for(i=1;i<=n;i++)
{
    dp[i].resize(n+1);
    dp[i][0] = i;
    dp[i][1] = a[i];
}
for(i=1;i<=(log(n)/log(2));i++)
{
    for(j=1;j<=n;j++)
    {
        
        dp[j][(1<<i)] = dp[dp[j][(1<<i)/2]][(1<<i)/2];
    }
}

while(q--)
{
    ll node,dist;
    cin>>node>>dist;
    vector<ll>v;
    while(dist)
    {
        ll temp = log(dist)/log(2);
        if((1<<temp)<=dist)
        {
            v.push_back((1<<temp));
            dist = dist-(1<<temp);
        }
        else
        {
            break;
        }
    }
    ll start=node;
    for(auto d:v)
    {
        
        start = dp[start][d];
    }
    // cout<<endl;
    cout<<start<<endl;
}

}