My code is giving Runtime for Problem
I don’t know why can anyone help me.
#include <bits/stdc++.h>
using namespace std ;
vector<int> dp(100010,-1);
int fun(vector<int> p,int n){
if(n==0) return 0;
if(dp[n]!=-1) return dp[n];
int ans=INT_MAX;
if(n>=1) ans=fun(p,n-1)+abs(p[n]-p[n-1]);
if(n>=2) ans=min(ans,fun(p,n-2)+abs(p[n-2]-p[n]));
return dp[n]= ans;
}
void solve(){
int n;
cin>>n;
vector<int> p(n);
for(int &i:p){
cin>>i;
}
cout<<fun(p,n-1);
}
signed main() {
int T=1;
// cin>>T;
for(int i=1;i <=T;i++){
solve();
cout<<endl;
}
return 0;
}