using System; using System.Linq; internal class Program { private static void Main() { var drivers = Console.ReadLine() .Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries) .ToList(); var checkpoints = Console.ReadLine() .Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries) .ToList(); var notfuel = Console.ReadLine() .Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse) .ToList(); foreach (var driver in drivers) { var reachedZero = false; var driverfuel = (double) driver.ToCharArray().FirstOrDefault(); var index = 0; for (var j = 0; j < checkpoints.Count; j++) { if (notfuel.Contains(j)) driverfuel = driverfuel + double.Parse(checkpoints[j]); else driverfuel = driverfuel - double.Parse(checkpoints[j]); if (driverfuel <= 0) { reachedZero = true; index = j; break; } } if (reachedZero) Console.WriteLine(driver + " - reached {0}", index); else Console.WriteLine("{0} - fuel left {1:F2}", driver, driverfuel); } } }