Skip to main content
added 101 characters in body
Source Link
Sean
  • 8.2k
  • 12
  • 16

Perl 6, 6262 57 bytes

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

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

Try it online!-5 bytes thanks to Jo King

Try it online!

Perl 6, 62 bytes

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

Try it online!

Perl 6, 62 57 bytes

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

{(0,{($!=@_[*-1])+@_-@_*2*($!>@_&&$!-@_∉@_)}...*)[^$_]} 

-5 bytes thanks to Jo King

Try it online!

Source Link
Sean
  • 8.2k
  • 12
  • 16

Perl 6, 62 bytes

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

Try it online!