Skip to main content
1 of 2
Sean
  • 8.2k
  • 12
  • 16

Perl 6, 62 bytes

{(0,{$_-@_+@_*2*($_!>@_||$_-@_∈@_)given @_[*-1]}...*)[^$_]} 

Try it online!

Sean
  • 8.2k
  • 12
  • 16