aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariano Spadaccini <spadacciniweb@gmail.com>2025-09-19 09:29:54 +0200
committerGitHub <noreply@github.com>2025-09-19 09:29:54 +0200
commitea3f26b0b25f3ee584bcd58a894418595c12da53 (patch)
tree14146a38a8061b71e74d1fd02a5680b8a78ec5ac
parent1bbbc56e6a0dc51d8d37d8e7d9c2b24b3dfb3294 (diff)
parent877bcc480e57ecfe6b7b2960d8b9dc21fa647d79 (diff)
downloadperlweeklychallenge-club-ea3f26b0b25f3ee584bcd58a894418595c12da53.tar.gz
perlweeklychallenge-club-ea3f26b0b25f3ee584bcd58a894418595c12da53.tar.bz2
perlweeklychallenge-club-ea3f26b0b25f3ee584bcd58a894418595c12da53.zip
Merge branch 'manwar:master' into PWC-339
-rw-r--r--challenge-339/bob-lied/README.md8
-rw-r--r--challenge-339/bob-lied/blog.txt1
-rw-r--r--challenge-339/bob-lied/perl/ch-1.pl178
-rw-r--r--challenge-339/bob-lied/perl/ch-2.pl106
-rw-r--r--challenge-339/torgny-lyon/blog.txt1
-rwxr-xr-xchallenge-339/torgny-lyon/perl/ch-1.pl16
-rwxr-xr-xchallenge-339/torgny-lyon/perl/ch-2.pl18
-rw-r--r--stats/pwc-current.json40
-rw-r--r--stats/pwc-language-breakdown-2019.json2
-rw-r--r--stats/pwc-language-breakdown-2020.json2
-rw-r--r--stats/pwc-language-breakdown-2021.json2
-rw-r--r--stats/pwc-language-breakdown-2022.json2
-rw-r--r--stats/pwc-language-breakdown-2023.json2
-rw-r--r--stats/pwc-language-breakdown-2024.json2
-rw-r--r--stats/pwc-language-breakdown-2025.json8
-rw-r--r--stats/pwc-language-breakdown-summary.json6
-rw-r--r--stats/pwc-leaders.json8
-rw-r--r--stats/pwc-summary-1-30.json2
-rw-r--r--stats/pwc-summary-121-150.json2
-rw-r--r--stats/pwc-summary-151-180.json2
-rw-r--r--stats/pwc-summary-181-210.json2
-rw-r--r--stats/pwc-summary-211-240.json2
-rw-r--r--stats/pwc-summary-241-270.json2
-rw-r--r--stats/pwc-summary-271-300.json2
-rw-r--r--stats/pwc-summary-301-330.json6
-rw-r--r--stats/pwc-summary-31-60.json6
-rw-r--r--stats/pwc-summary-61-90.json2
-rw-r--r--stats/pwc-summary-91-120.json2
-rw-r--r--stats/pwc-summary.json10
-rw-r--r--stats/pwc-yearly-language-summary.json8
30 files changed, 404 insertions, 46 deletions
diff --git a/challenge-339/bob-lied/README.md b/challenge-339/bob-lied/README.md
index 5247e8d471..373adf6206 100644
--- a/challenge-339/bob-lied/README.md
+++ b/challenge-339/bob-lied/README.md
@@ -1,5 +1,5 @@
-# Solutions to weekly challenge 338 by Bob Lied
+# Solutions to weekly challenge 339 by Bob Lied
-## [PWC](https://perlweeklychallenge.org/blog/perl-weekly-challenge-338/)
-## [GitHub](https://github.com/boblied/perlweeklychallenge-club/tree/master/challenge-338/bob-lied)
-[Blog](https://dev.to/boblied/pwc-338-maximal-maximization-of-maximums-4jm1)
+## [PWC](https://perlweeklychallenge.org/blog/perl-weekly-challenge-339/)
+## [GitHub](https://github.com/boblied/perlweeklychallenge-club/tree/master/challenge-339/bob-lied)
+[Blog](https://dev.to/boblied/pwc-339-max-diff-sorting-for-the-win-43c8)
diff --git a/challenge-339/bob-lied/blog.txt b/challenge-339/bob-lied/blog.txt
new file mode 100644
index 0000000000..41aa667439
--- /dev/null
+++ b/challenge-339/bob-lied/blog.txt
@@ -0,0 +1 @@
+https://dev.to/boblied/pwc-339-max-diff-sorting-for-the-win-43c8
diff --git a/challenge-339/bob-lied/perl/ch-1.pl b/challenge-339/bob-lied/perl/ch-1.pl
new file mode 100644
index 0000000000..4c06115fec
--- /dev/null
+++ b/challenge-339/bob-lied/perl/ch-1.pl
@@ -0,0 +1,178 @@
+#!/usr/bin/env perl
+# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu:
+#=============================================================================
+# Copyright (c) 2025, Bob Lied
+#=============================================================================
+# ch-1.pl Perl Weekly Challenge 339 Task 1 Max Diff
+#=============================================================================
+# You are given an array of integers having four or more elements. Write a
+# script to find two pairs of numbers from this list (four numbers total)
+# so that the difference between their products is as large as possible.
+# In the end return the max difference. With Two pairs (a, b) and (c, d),
+# the product difference is (a * b) - (c * d).
+# Example 1 Input: @ints = (5, 9, 3, 4, 6)
+# Output: 42
+# Pair 1: (9, 6) Pair 2: (3, 4)
+# Product Diff: (9 * 6) - (3 * 4) => 54 - 12 => 42
+# Example 2 Input: @ints = (1, -2, 3, -4)
+# Output: 10
+# Pair 1: (1, -2) Pair 2: (3, -4)
+# Example 3 Input: @ints = (-3, -1, -2, -4)
+# Output: 10
+# Pair 1: (-1, -2) Pair 2: (-3, -4)
+# Example 4 Input: @ints = (10, 2, 0, 5, 1)
+# Output: 50
+# Pair 1: (10, 5) Pair 2: (0, 1)
+# Example 5 Input: @ints = (7, 8, 9, 10, 10)
+# Output: 44
+# Pair 1: (10, 10) Pair 2: (7, 8)
+#=============================================================================
+
+use v5.42;
+
+use List::Util qw/max min/;
+
+use Getopt::Long;
+my $Verbose = false;
+my $DoTest = false;
+my $Benchmark = 0;
+
+GetOptions("test" => \$DoTest, "verbose" => \$Verbose, "benchmark:i" => \$Benchmark);
+my $logger;
+{
+ use Log::Log4perl qw(:easy);
+ Log::Log4perl->easy_init({ level => ($Verbose ? $DEBUG : $INFO ),
+ layout => "%d{HH:mm:ss.SSS} %p{1} %m%n" });
+ $logger = Log::Log4perl->get_logger();
+}
+#=============================================================================
+
+exit(!runTest()) if $DoTest;
+exit( runBenchmark($Benchmark) ) if $Benchmark;
+
+say maxDiff(@ARGV);
+
+#=============================================================================
+sub maxDiff_BF(@int)
+{
+ my $max = 0;
+ for my $w ( 0 .. $#int )
+ {
+ for my $x ( 0 .. $#int )
+ {
+ next if $x == $w;
+ for my $y ( 0 .. $#int )
+ {
+ next if $y == $x || $y == $w;
+ for my $z ( 0 .. $#int )
+ {
+ next if $z == $y || $z == $x || $z == $w;
+ my ($a, $b, $c, $d) = @int[$w,$x,$y,$z];
+
+ my $diff = max( $a*$b - $c*$d, $c*$d - $a*$b );
+ $max = $diff if $diff > $max;
+ }
+ }
+ }
+ }
+ return $max;
+}
+
+sub maxDiff(@int)
+{
+ @int = sort { $a <=> $b } @int;
+
+ # Possibilities for maximum product: biggest positive numbers, biggest
+ # negative numbers, or biggest positive X biggest negative.
+ # Find the biggest magnitude, then discard that pair from the list.
+ my $nn = $int[0] * $int[1];
+ my $pp = $int[-1] * $int[-2];
+ my $np = $int[0] * $int[-1];
+ my $largest;
+ if ( abs($nn) > abs($pp) )
+ {
+ if ( abs($nn) > abs($np) )
+ {
+ $largest = $nn;
+ shift @int; shift @int;
+ }
+ else
+ {
+ $largest = $np;
+ shift @int; pop @int;
+ }
+ }
+ else # pp >= nn
+ {
+ if ( abs($pp) > abs($np) )
+ {
+ $largest = $pp;
+ pop @int; pop @int;
+ }
+ else
+ {
+ $largest = $np;
+ shift @int; pop @int;
+ }
+ }
+
+ if ( $largest < 0 )
+ {
+ # Make it the second pair (because negating it will add a big number),
+ # and find the largest product for the first pair. Again, because the
+ # list is sorted, the largest magnitude must come from the pairs on
+ # the ends of the list.
+ my $aXb = max( $int[0]*$int[1], $int[0]*$int[-1], $int[-2]*$int[-1] );
+ return $aXb - $largest;
+ }
+
+ # Use largest as the first pair for maximum positive contribution.
+ # Find the smallest product pair to subtract away.
+
+=begin BlockComment # BlockCommentNo_1
+ my $cXd = $int[0] * $int[1];
+ while ( defined(my $c = shift @int) )
+ {
+ for my $d ( @int )
+ {
+ $cXd = $c*$d if ( $c*$d < $cXd );
+ }
+ }
+
+=end BlockComment # BlockCommentNo_1
+
+=cut
+ # Sort so smallest integers are on the outside of the array.
+ @int = sort { ($a == 0 ? 2 : 1/$a) <=> ($b == 0 ? 2 : 1/$b) } @int;
+ # -1/2 - 1/3 -1/4 0 1/4 1/3 1/2
+ # ----|------|----|----|---|-----|-----|---
+
+ my $cXd = min( $int[0]*$int[1], $int[0]*$int[-1], $int[-2]*$int[-1] );
+ return $largest - $cXd;
+}
+
+sub runTest
+{
+ use Test2::V0;
+
+ is( maxDiff( 5, 9, 3, 4, 6), 42, "Example 1");
+ is( maxDiff( 1, -2, 3, -4), 10, "Example 2");
+ is( maxDiff(-3, -1, -2, -4), 10, "Example 3");
+ is( maxDiff(10, 2, 0, 5, 1), 50, "Example 4");
+ is( maxDiff( 7, 8, 9, 10, 10), 44, "Example 5");
+
+ is( maxDiff(10, 2, 1, 5, 1), 49, "Example 4 + 1");
+ is( maxDiff(10, 2, -1, 5, 1), 52, "Example 4 - 1");
+ is( maxDiff(-10, 2, -1, 5, 1), 52, "Example 4 - 10");
+
+ done_testing;
+}
+
+sub runBenchmark($repeat)
+{
+ use Benchmark qw/cmpthese/;
+
+ cmpthese($repeat, {
+ label => sub { },
+ });
+}
diff --git a/challenge-339/bob-lied/perl/ch-2.pl b/challenge-339/bob-lied/perl/ch-2.pl
new file mode 100644
index 0000000000..896460d2dd
--- /dev/null
+++ b/challenge-339/bob-lied/perl/ch-2.pl
@@ -0,0 +1,106 @@
+#!/usr/bin/env perl
+# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu:
+#=============================================================================
+# Copyright (c) 2025, Bob Lied
+#=============================================================================
+# ch-2.pl Perl Weekly Challenge 339 Task 2 Peak Point
+#=============================================================================
+# You are given an array of altitude gain.
+# Write a script to find the peak point gained.
+#
+# Example 1 Input: @gain = (-5, 1, 5, -9, 2)
+# Output: 1
+# start: 0 1st change: 0 + (-5) = -5
+# 2nd change: -5 + 1 = -4
+# 3rd change: -4 + 5 = 1
+# 4th change: 1 + (-9) = -8
+# 5th change: -8 + 2 = -6
+# max(0, -5, -4, 1, -8, -6) = 1
+#
+# Example 2 Input: @gain = (10, 10, 10, -25)
+# Output: 30
+# start: 0 1st change: 0 + 10 = 10
+# 2nd change: 10 + 10 = 20
+# 3rd change: 20 + 10 = 30
+# 4th change: 30 + (-25) = 5
+# max(0, 10, 20, 30, 5) = 30
+#
+# Example 3 Input: @gain = (3, -4, 2, 5, -6, 1)
+# Output: 6
+# Example 4 Input: @gain = (-1, -2, -3, -4)
+# Output: 0
+# Example 5 Input: @gain = (-10, 15, 5)
+# Output: 10
+#=============================================================================
+
+use v5.42;
+
+
+use Getopt::Long;
+my $Verbose = false;
+my $DoTest = false;
+my $Benchmark = 0;
+
+GetOptions("test" => \$DoTest, "verbose" => \$Verbose, "benchmark:i" => \$Benchmark);
+my $logger;
+{
+ use Log::Log4perl qw(:easy);
+ Log::Log4perl->easy_init({ level => ($Verbose ? $DEBUG : $INFO ),
+ layout => "%d{HH:mm:ss.SSS} %p{1} %m%n" });
+ $logger = Log::Log4perl->get_logger();
+}
+#=============================================================================
+
+exit(!runTest()) if $DoTest;
+exit( runBenchmark($Benchmark) ) if $Benchmark;
+
+say peakPoint(@ARGV);
+
+#=============================================================================
+sub peakPoint(@gain)
+{
+ my $peak = my $elevation = 0;
+ while ( defined (my $hike = shift @gain) )
+ {
+ $elevation += $hike;
+ $peak = $elevation if $elevation > $peak;
+ }
+ return $peak;
+}
+
+sub pp(@gain)
+{
+ use List::Util qw/reductions max/;
+ return max reductions { $a + $b } 0, @gain;
+}
+
+sub runTest
+{
+ use Test2::V0;
+
+ is( peakPoint( -5, 1, 5, -9, 2 ) , 1, "Example 1");
+ is( peakPoint( 10, 10, 10, -25 ) , 30, "Example 2");
+ is( peakPoint( 3, -4, 2, 5, -6, 1) , 6, "Example 3");
+ is( peakPoint( -1, -2, -3, -4 ) , 0, "Example 4");
+ is( peakPoint(-10, 15, 5 ) , 10, "Example 5");
+
+ is( pp( -5, 1, 5, -9, 2 ) , 1, "pp Example 1");
+ is( pp( 10, 10, 10, -25 ) , 30, "pp Example 2");
+ is( pp( 3, -4, 2, 5, -6, 1) , 6, "pp Example 3");
+ is( pp( -1, -2, -3, -4 ) , 0, "pp Example 4");
+ is( pp(-10, 15, 5 ) , 10, "pp Example 5");
+
+ done_testing;
+}
+
+sub runBenchmark($repeat)
+{
+ use Benchmark qw/cmpthese/;
+
+ my @gain;
+ push @gain, rand(100) for 1 .. 200;
+ cmpthese($repeat, {
+ loop => sub { peakPoint(@gain) },
+ reduce => sub { pp(@gain) },
+ });
+}
diff --git a/challenge-339/torgny-lyon/blog.txt b/challenge-339/torgny-lyon/blog.txt
new file mode 100644
index 0000000000..9828222192
--- /dev/null
+++ b/challenge-339/torgny-lyon/blog.txt
@@ -0,0 +1 @@
+https://www.abc.se/~torgny/pwc.html#339
diff --git a/challenge-339/torgny-lyon/perl/ch-1.pl b/challenge-339/torgny-lyon/perl/ch-1.pl
new file mode 100755
index 0000000000..f63dc898fe
--- /dev/null
+++ b/challenge-339/torgny-lyon/perl/ch-1.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+
+use v5.42;
+
+use Test::More tests => 5;
+
+sub find_max_diff {
+ my @ints = sort { $b <=> $a } map { abs } @_;
+ $ints[0] * $ints[1] - $ints[$#ints] * $ints[$#ints - 1];
+}
+
+is(find_max_diff(5, 9, 3, 4, 6), 42);
+is(find_max_diff(1, -2, 3, -4), 10);
+is(find_max_diff(-3, -1, -2, -4), 10);
+is(find_max_diff(10, 2, 0, 5, 1), 50);
+is(find_max_diff(7, 8, 9, 10, 10), 44);
diff --git a/challenge-339/torgny-lyon/perl/ch-2.pl b/challenge-339/torgny-lyon/perl/ch-2.pl
new file mode 100755
index 0000000000..ad724c293d
--- /dev/null
+++ b/challenge-339/torgny-lyon/perl/ch-2.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+
+use v5.42;
+
+use Test::More tests => 5;
+
+use List::Util qw(max);
+
+sub find_peak_gain {
+ my $altitude;
+ max(0, map { $altitude += $_ } @_);
+}
+
+is(find_peak_gain(-5, 1, 5, -9, 2), 1);
+is(find_peak_gain(10, 10, 10, -25), 30);
+is(find_peak_gain(3, -4, 2, 5, -6, 1), 6);
+is(find_peak_gain(-1, -2, -3, -4), 0);
+is(find_peak_gain(-10, 15, 5), 10);
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 43063dfb63..93581daf14 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -37,6 +37,20 @@
[
"Perl",
2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Bob Lied",
+ "name" : "Bob Lied"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
]
],
"id" : "David Ferrone",
@@ -213,6 +227,20 @@
2
],
[
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Torgny Lyon",
+ "name" : "Torgny Lyon"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
"Raku",
2
]
@@ -263,6 +291,11 @@
"y" : 2
},
{
+ "drilldown" : "Bob Lied",
+ "name" : "Bob Lied",
+ "y" : 3
+ },
+ {
"drilldown" : "David Ferrone",
"name" : "David Ferrone",
"y" : 2
@@ -338,6 +371,11 @@
"y" : 4
},
{
+ "drilldown" : "Torgny Lyon",
+ "name" : "Torgny Lyon",
+ "y" : 3
+ },
+ {
"drilldown" : "Ulrich Rieke",
"name" : "Ulrich Rieke",
"y" : 4
@@ -352,7 +390,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 19] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 21] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge - 339"
diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json
index c3ab22f092..024d1e19ee 100644
--- a/stats/pwc-language-breakdown-2019.json
+++ b/stats/pwc-language-breakdown-2019.json
@@ -970,7 +970,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json
index 8540541935..9e9f3e7983 100644
--- a/stats/pwc-language-breakdown-2020.json
+++ b/stats/pwc-language-breakdown-2020.json
@@ -1223,7 +1223,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json
index 792db73f31..0c8f2d3237 100644
--- a/stats/pwc-language-breakdown-2021.json
+++ b/stats/pwc-language-breakdown-2021.json
@@ -1223,7 +1223,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-2022.json b/stats/pwc-language-breakdown-2022.json
index 60b40c83db..cddc5f48c4 100644
--- a/stats/pwc-language-breakdown-2022.json
+++ b/stats/pwc-language-breakdown-2022.json
@@ -1223,7 +1223,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-2023.json b/stats/pwc-language-breakdown-2023.json
index 25125befc9..20dddda212 100644
--- a/stats/pwc-language-breakdown-2023.json
+++ b/stats/pwc-language-breakdown-2023.json
@@ -1200,7 +1200,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-2024.json b/stats/pwc-language-breakdown-2024.json
index 641ebf7460..0f8e8971f9 100644
--- a/stats/pwc-language-breakdown-2024.json
+++ b/stats/pwc-language-breakdown-2024.json
@@ -1246,7 +1246,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-2025.json b/stats/pwc-language-breakdown-2025.json
index bf920ce12d..30bbedb4e8 100644
--- a/stats/pwc-language-breakdown-2025.json
+++ b/stats/pwc-language-breakdown-2025.json
@@ -8,7 +8,7 @@
"data" : [
[
"Perl",
- 31
+ 35
],
[
"Raku",
@@ -16,7 +16,7 @@
],
[
"Blog",
- 7
+ 9
]
],
"id" : "339",
@@ -691,7 +691,7 @@
{
"drilldown" : "339",
"name" : "339",
- "y" : 52
+ "y" : 58
},
{
"drilldown" : "338",
@@ -878,7 +878,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Language"
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 236241b0d2..fa72a07a8f 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -10,7 +10,7 @@
"data" : [
[
"Perl",
- 17470
+ 17474
],
[
"Raku",
@@ -18,7 +18,7 @@
],
[
"Blog",
- 6266
+ 6268
]
],
"dataLabels" : {
@@ -37,7 +37,7 @@
}
],
"subtitle" : {
- "text" : "Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge Contributions [2019 - 2025]"
diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json
index ebf65366b1..c3598ac137 100644
--- a/stats/pwc-leaders.json
+++ b/stats/pwc-leaders.json
@@ -428,11 +428,11 @@
"data" : [
[
"Perl",
- 380
+ 382
],
[
"Blog",
- 47
+ 48
]
],
"id" : "Bob Lied",
@@ -927,7 +927,7 @@
{
"drilldown" : "Bob Lied",
"name" : "27: Bob Lied",
- "y" : 854
+ "y" : 860
},
{
"drilldown" : "Robbie Hatley",
@@ -1049,7 +1049,7 @@
}
],
"subtitle" : {
- "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "Team Leaders (TOP 50)"
diff --git a/stats/pwc-summary-1-30.json b/stats/pwc-summary-1-30.json
index 0704a1cf84..244250c158 100644
--- a/stats/pwc-summary-1-30.json
+++ b/stats/pwc-summary-1-30.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-121-150.json b/stats/pwc-summary-121-150.json
index df94dbbdc6..c02ed7fc31 100644
--- a/stats/pwc-summary-121-150.json
+++ b/stats/pwc-summary-121-150.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-151-180.json b/stats/pwc-summary-151-180.json
index f4ec141bb4..581b88a148 100644
--- a/stats/pwc-summary-151-180.json
+++ b/stats/pwc-summary-151-180.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-181-210.json b/stats/pwc-summary-181-210.json
index a45270cf12..f0e4f79bbc 100644
--- a/stats/pwc-summary-181-210.json
+++ b/stats/pwc-summary-181-210.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-211-240.json b/stats/pwc-summary-211-240.json
index d28f3fbd7a..33d70dc1b4 100644
--- a/stats/pwc-summary-211-240.json
+++ b/stats/pwc-summary-211-240.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-241-270.json b/stats/pwc-summary-241-270.json
index a1193bd3f5..40c3a3e0fa 100644
--- a/stats/pwc-summary-241-270.json
+++ b/stats/pwc-summary-241-270.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-271-300.json b/stats/pwc-summary-271-300.json
index a1bfb99583..f681fe93b4 100644
--- a/stats/pwc-summary-271-300.json
+++ b/stats/pwc-summary-271-300.json
@@ -115,7 +115,7 @@
}
],
"subtitle" : {
- "text" : "[Champions: 30] Last updated at 2025-09-17 08:22:15 GMT"
+ "text" : "[Champions: 30] Last updated at 2025-09-17 22:45:09 GMT"
},
"title" : {
"text" : "The Weekly Challenge [2019 - 2025]"
diff --git a/stats/pwc-summary-301-330.json b/stats/pwc-summary-301-330.json
index fb7fb53e3e..c7087446b3 100644
--- a/stats/pwc-summary-301-330.json
+++ b/stats/pwc-summary-301-330.json
@@ -15,7 +15,7 @@
0,
6,
2,
- 14,
+ 16,
5,
8,
0,
@@ -81,7 +81,7 @@
0,
0,
0,
- 5,
+ 6,
0,
0,
0,
@@ -109,7 +109,7 @@
}
],
"subtitle" : {
- "text"