Испытание: не трать деньги понапрасну

Подскажите пожалуйста, проходит только вторая и третья проверка. Не могу понять, в чём ошибка?

var price = 1500;
var cost;
var getPrice = function (time,speed) {
if (speed) {
time = time / 2;
price = price * 2.5;
}
if (time > 150) {
price = price - 250;
}
cost = price * time;
return cost;
}

var getProfitableProject = function (time, profit) {
var speedproject = getPrice(time,true) - profit;
var normalproject = getPrice(time,false);
var result;
if (speedproject > normalproject) {
result = 'Выгодней обычный проект. Потратишь на него ’ + normalproject;
}
else {
result = 'Выгодней срочный проект. Потратишь на него ’ + speedproject;
}
return result;
}

Перенесите строку var price = 1500; внутрь функции, иначе цена складывается при каждом вызове функции getPrice.

Моя версия решения задания. Версия работает.

var getPrice = function(time, speed) {
var stavka = 1500;
if (speed) {
time /= 2;
stavka *= 2.5;
}
if (time > 150){
stavka -= 250;
}
return time * stavka;
}

var getProfitableProject = function (time, profit) {
var speedProject = getPrice(time, true) - profit;
var normalProject = getPrice(time, false);
if ( speedProject < normalProject ) {
return 'Выгодней срочный проект. Потратишь на него ’ + speedProject;
} else {
return 'Выгодней обычный проект. Потратишь на него ’ + normalProject;
}
}

1 Симпатия