MiroslavKisov

EnduranceRally

Nov 27th, 2017
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.99 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace _03.EnduranceRally
  5. {
  6.     public class StartUp
  7.     {
  8.         public static void Main()
  9.         {
  10.             var drivers = Console.ReadLine()
  11.                 .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  12.                 .ToList();
  13.             var track = Console.ReadLine()
  14.                 .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  15.                 .Select(double.Parse)
  16.                 .ToList();
  17.             var checkpoints = Console.ReadLine()
  18.                 .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  19.                 .Select(int.Parse)
  20.                 .ToList();
  21.             for (int i = 0; i < drivers.Count; i++)
  22.             {
  23.                 int distanceReached = 0;
  24.                 double driverFuel = drivers[i][0];
  25.                 for (int j = 0; j < track.Count; j++)
  26.                 {
  27.                     if (driverFuel <= 0)
  28.                     {
  29.                         break;
  30.                     }
  31.                     bool isCheckPoint = false;
  32.                     for (int k = 0; k < checkpoints.Count; k++)
  33.                     {
  34.                         if (j == checkpoints[k])
  35.                         {
  36.                             isCheckPoint = true;
  37.                             break;
  38.                         }
  39.                     }
  40.                     if (isCheckPoint)
  41.                     {
  42.                         driverFuel += track[j];
  43.                     }
  44.                     else
  45.                     {
  46.                         driverFuel -= track[j];
  47.                     }
  48.                     distanceReached = j;
  49.                 }
  50.                 if (driverFuel > 0)
  51.                 {
  52.                     Console.WriteLine($"{drivers[i]} - fuel left {driverFuel:F2}");
  53.                 }
  54.                 else
  55.                 {
  56.                     Console.WriteLine($"{drivers[i]} - reached {distanceReached}");
  57.                 }
  58.             }
  59.         }
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment