blob: 723ae895073e2961538d2db043545c3dee6c153d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
use strict;
use warnings;
my (@times, @dists);
while (<>) {
chomp;
@times = split(/ +/) if s/^Time: +//;
@dists = split(/ +/) if s/^Distance: +//;
}
sub wins {
my ($time, $dist) = @_;
my $wins = 0;
for my $hold (1 .. $time - 1) {
my $travel = $hold * ($time - $hold);
$wins++ if $travel > $dist;
}
$wins;
}
my $ways = 1;
for (my $race = 0; $race < scalar(@times); $race++) {
$ways *= wins($times[$race], $dists[$race]);
}
print $ways, "\n";
print wins(int(join("", @times)), int(join("", @dists))), "\n";
|