Advertisement
Guest User

Untitled

a guest
Dec 15th, 2020
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 6 0.46 KB | None | 0 0
  1. unit sub MAIN( Int $N );
  2.  
  3. my $rt = now;
  4. my $st = now;
  5. my @i = 0,5,4,1,10,14,7; #flat "puzzle.input".IO.lines.first.split(",").map( *.Int );
  6. my %n = @i.kv.reverse.map: { $^k => [$^v + 1, $^v + 1] };
  7. my $l = @i[*-1];
  8. my $t = @i.elems;
  9.  
  10. loop {
  11.     $t++;
  12.     $l = %n{ $l }[0] - %n{ $l }[1];
  13.     %n{ $l }[1] = %n{ $l }[0] // $t;
  14.     %n{ $l }[0] = $t;
  15.  
  16.     say "! $t { now - $st }" and $st = now
  17.         if $t %% 1000000;
  18.  
  19.     last if $t == $N;
  20. }
  21.  
  22. say $l;
  23. say "RT { now - $rt }";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement