Почему следующая проблема DP показывает ошибку SIGSEGV, когда я пытаюсь отправить свою проблему в codechef?

avatar
Ankit Debnath
9 августа 2021 в 07:02
20
0
0

Ниже приведен код, который я написал для проблемы с человеком-пауком и прыжками в codechef. Но он работает не для всех тестовых наборов, поэтому он не отправляется и показывает ошибку SIGSEGV после неудачной отправки.

int *dp;
void memset(int N)
{
   dp = new int[N+1];
   for(int i=0;i<=N;i++)
      dp[i] = -1;
}

int energy(int n,int N,int Height[])
{
   if(n == N-1)
      return 0;
   if(dp[n]!=-1)
      return dp[n];
   int mini = INT_MAX;
   for(int i = 1;n+i<=N-1;i=i*2)
   {
      int ener = abs(Height[n+i] - Height[n]) + energy(n+i,N,Height);
      mini = min(mini,ener);
   } 
   dp[n] = mini;
   return mini;
}
Источник

Ответы (0)