X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=2023%2F18.pl;h=43be85e53e58467c8948857210ba38313fa53991;hb=0e9a2132dee3b812571f5506794af300aa1d1d15;hp=f41b7b1ed52f85f599398fa708eb45ca46b625d1;hpb=c5060bdbc898139cea04423a11650446d3a291a3;p=aoc.git diff --git a/2023/18.pl b/2023/18.pl index f41b7b1..43be85e 100755 --- a/2023/18.pl +++ b/2023/18.pl @@ -4,20 +4,11 @@ use v5.38; my $sum; while (<>) { - my @seq = /-?\d+/g; - my @rest; + my @seq = reverse /-?\d+/g; while (grep $_, @seq) { - push @rest, $seq[0]; - for my $i (0 .. $#seq-1) { - $seq[$i] = $seq[$i+1]-$seq[$i]; - } - pop @seq; + $seq[$_] = $seq[$_+1]-$seq[$_] for 0 .. $#seq-1; + $sum += pop @seq; } - my $s = 0; - for (reverse @rest) { - $s = $_ - $s; - } - $sum += $s; } say $sum;