`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Задача Status.  В одній дуже відомій в колах учасників NetOI комп’ютерній грі герой і монстр мають такі властивості: HP (здоров'я), Atk (атака), Def (захист), Spd (швидкість). Бій між ними відбувається наступним чином:  у кого вище Spd - ходить першим; при рівних Spd - першим ходить монстр – в нього був час підготуватися, поки герой  до нього дістався. За  один хід гравець  HP супротивника  "наносить йому втрати" на величину різниці своєї Atk і його Def  (якщо ця величина додатна, інакше  HP суперника не змінюється). Бій закінчується, коли здоров’я одного з учасників падає до 0 або нижче.  Визначте, на яку найменшу кількість  пунктів (сумарно) потрібно герою збільшити параметри (кількість пунктів - це сума 4-х (цілих, невід’ємних) доданків до HP, Atk, Def, Spd відповідно) перед боєм, щоб перемогти (коли в кінці поєдинку  HP героя буде додатним, а монстра 0 або нижче).

 Технічні умови. Програма Status читає з пристрою стандартного введення 8 натуральних чисел не більших 999999999: спочатку  4 параметри героя (в порядку HP, Atk, Def, Spd),  далі 4 параметри  монстра (у тому ж порядку). Програма виводить на стандартне пристрій виводу єдине ціле число - мінімально необхідне сумарне число пунктів, які потрібно до початку бою десь роздобути герою для перемоги.

  Приклад

  Введення: 10 7 4 10 29 10 2 5

  Виведення: 5

 Коментар до прикладу. У початковій ситуації герой наносить монстру 7-2 = 5 пунктів втрат за  1- хід, а монстр герою - 10-4 = 6  (герой ходить першим). Таким чином, через 2 ходи  кожного суперника, здоров’я героя знижується до -2, а у монстра ще залишається 19. Але якщо підвищувати захист героя на 5 пунктів, то монстр буде наносити герою 10- (4 + 5) = 1 втрату за хід, і тоді після  6-ти ходів героя (і 5  монстра) здоров’я монстра знижується до -1, а у героя ще залишився 5.

© LIKT 1998-2024