Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit sub MAIN( Int $N );
- my $rt = now;
- my $st = now;
- my @i = 0,5,4,1,10,14,7; #flat "puzzle.input".IO.lines.first.split(",").map( *.Int );
- my %n = @i.kv.reverse.map: { $^k => [$^v + 1, $^v + 1] };
- my $l = @i[*-1];
- my $t = @i.elems;
- loop {
- $t++;
- $l = %n{ $l }[0] - %n{ $l }[1];
- %n{ $l }[1] = %n{ $l }[0] // $t;
- %n{ $l }[0] = $t;
- say "! $t { now - $st }" and $st = now
- if $t %% 1000000;
- last if $t == $N;
- }
- say $l;
- say "RT { now - $rt }";
Advertisement
Add Comment
Please, Sign In to add comment