|
|
@@ -10,7 +10,7 @@ var inputFile = args[0];
|
|
|
var parser = new RaceTimeParser();
|
|
|
|
|
|
var races = parser.Parse(inputFile);
|
|
|
-var total = 1;
|
|
|
+var total = 1L;
|
|
|
|
|
|
foreach (var race in races)
|
|
|
{
|
|
|
@@ -25,4 +25,18 @@ foreach (var race in races)
|
|
|
Console.WriteLine();
|
|
|
Console.WriteLine($"Total: {total}");
|
|
|
|
|
|
+var combinedTime = 0L;
|
|
|
+var combinedDistance = 0L;
|
|
|
+foreach (var race in races)
|
|
|
+{
|
|
|
+ combinedTime = combinedTime * (long)Math.Pow(10, (int)Math.Ceiling(Math.Log10(race.Duration))) + race.Duration;
|
|
|
+ combinedDistance = combinedDistance * (long)Math.Pow(10, (int)Math.Ceiling(Math.Log10(race.Distance))) + race.Distance;
|
|
|
+}
|
|
|
+
|
|
|
+var actualRace = new RaceStats(combinedTime, combinedDistance);
|
|
|
+var actualBound = actualRace.LowerBound();
|
|
|
+Console.WriteLine($"{actualRace.Duration} / {actualRace.Distance} => {actualBound}");
|
|
|
+var actualOptions = actualRace.Duration - 2 * actualBound + 1;
|
|
|
+Console.WriteLine($"Options: {actualOptions}");
|
|
|
+
|
|
|
return 0;
|