aboutsummaryrefslogtreecommitdiff
path: root/challenge-304/arne-sommer/raku/maximum-average
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-304/arne-sommer/raku/maximum-average')
-rwxr-xr-xchallenge-304/arne-sommer/raku/maximum-average25
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-304/arne-sommer/raku/maximum-average b/challenge-304/arne-sommer/raku/maximum-average
new file mode 100755
index 0000000000..08c68477e1
--- /dev/null
+++ b/challenge-304/arne-sommer/raku/maximum-average
@@ -0,0 +1,25 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int,
+ Int :$n where $n > 0 && $n <= @ints.elems,
+ :v(:$verbose));
+
+my $max-avg = -Inf;
+
+for 0 .. @ints.elems - $n -> $start
+{
+ my $avg = @ints[$start .. $start + $n -1].sum / $n;
+
+ if $avg > $max-avg
+ {
+ $max-avg = $avg;
+
+ say ": New maximum average $max-avg at index $start to { $start + $n -1 }" if $verbose;
+ }
+ elsif $verbose
+ {
+ say ": Not a new maximum average $max-avg at index $start to { $start + $n -1 }";
+ }
+}
+
+say $max-avg;