5 use experimental 'multidimensional';
13 my ($sx, $sy, $cx, $cy) = /(-?\d+)/g;
14 my $r = abs($sx - $cx) + abs($sy - $cy);
15 my $dist = abs($sy - $row);
18 push @ints, [ $sx - ($r - $dist), $sx + ($r - $dist) ];
19 $corr{$cx} = 1 if $cy == $row;
22 @ints = sort { $a->[0] <=> $b->[0] } @ints;
23 my $sum = $ints[0][1] - $ints[0][0] + 1;
24 my $prev = (shift @ints)->[1];
27 if ($int->[0] > $prev) {
28 $sum += $int->[1] - $int->[0] + 1;
30 } elsif ($int->[1] > $prev) {
31 $sum += $int->[1] - $prev;
36 say $sum - keys %corr;