aboutsummaryrefslogtreecommitdiff
path: root/challenge-304/arne-sommer/raku/maximum-average
diff options
context:
space:
mode:
authorArne Sommer <arne@bbop.org>2025-01-19 17:37:14 +0100
committerArne Sommer <arne@bbop.org>2025-01-19 17:37:14 +0100
commit28af7e8e723606542c0ea7864456b7547d9532ef (patch)
treeff5476842fb66be37fb2690a499f981433625501 /challenge-304/arne-sommer/raku/maximum-average
parente558f6a4a91cd50561f693679b654f283c98f059 (diff)
downloadperlweeklychallenge-club-28af7e8e723606542c0ea7864456b7547d9532ef.tar.gz
perlweeklychallenge-club-28af7e8e723606542c0ea7864456b7547d9532ef.tar.bz2
perlweeklychallenge-club-28af7e8e723606542c0ea7864456b7547d9532ef.zip
Arne Sommer
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;