C# Passing Cars
static long PassingCars(int[] a)
{
long passingCars = 0;
long multiply = 0;
foreach (var i in a)
{
if (i == 0)
{
multiply++;
}
else if (multiply > 0)
{
passingCars += multiply;
if (passingCars > 1000000000)
{
return -1;
}
}
}
return passingCars;
}
This counts eastbound cars as it scans, then adds them whenever a westbound car appears.