10945. Вирубка лісу
Фермер Микола найняв двох лісорубів: Дмитра та Федора, щоб вирубати ліс, на місці якого має бути кукурудзяне поле. У лісі ростуть \(𝑋\) дерев.
Дмитро зрубує по \(A\) дерев в день, але кожен \(K\)-й день він відпочиває і не зрубує жодного дерева. Таким чином, Дмитро відпочиває в \(𝐾\)-й, \(2𝐾\)-й, \(3𝐾\)-й день, і т.д.
Федір зрубує по \(B\) дерев на день, але кожен \(M\)-й день він відпочиває і не зрубує жодного дерева. Таким чином, Федір відпочиває в \(M\)-й, \(2M\)-й, ~3M-й день, і т.д.
Лісоруби працюють паралельно і, таким чином, у дні, коли ніхто з них не відпочиває, вони зрубують \(A+B\) дерев, у дні, коли відпочиває тільки Федір - \(A\) дерев, а в дні, коли відпочиває тільки Дмитро -\(B\) дерев. У дні, коли обидва лісоруби відпочивають, жодне дерево не зрубується.
Фермер Микола хоче зрозуміти, за скільки днів лісоруби зрубають усі дерева, і він зможе засіяти кукурудзяне поле.
Потрібно написати програму, яка за заданими цілими числами \(𝐴, 𝐾, 𝐵, 𝑀\) і \(𝑋\) визначає, за скільки днів усі дерева в лісі будуть вирубані.
Формат вхідних даних
Вхідний файл містить п'ять цілих чисел, розділених пробілами: \(𝐴 , 𝐾 , 𝐵 , 𝑀\) і \(𝑋\) (\(1 ≤ 𝐴 , 𝐵 ≤ 10^9\) , \(2 ≤ 𝐾 , 𝑀 ≤10^{18}\) \(1 \le X ≤ 10^{18}\))
Формат вихідних даних
Вихідний файл повинен містити одне ціле число - кількість днів, що шукається.
Пояснення
наприклад У наведеному прикладі лісоруби вирубують 25 дерев за 7 днів наступним чином:
- 1-й день: Дмитро зрубує 2 дерева, Федір зрубує 3 дерева, разом 5 дерев;
- 2-й день: Дмитро зрубує 2 дерева, Федір зрубує 3 дерева, всього 10 дерев;
- 3-й день: Дмитро зрубує 2 дерева, Федір відпочиває, всього 12 дерев;
- 4-й день: Дмитро відпочиває, Федір зрубує 3 дерева, всього 15 дерев;
- 5-й день: Дмитро зрубує 2 дерева, Федір зрубує 3 дерева, всього 20 дерев;
- 6-й день: Дмитро зрубує 2 дерева, Федір відпочиває, разом 22 дерева;
- 7-й день: Дмитро зрубує 2 дерева, Федір зрубує 1 дерево, що залишилося, разом всі 25 дерев зрубані.
Оцінювання
- Підзавдання 1 (32 бали) \(1 ≤ 𝑋 ≤ 1000\), \(1 ≤ 𝐴 , 𝐵 ≤ 1000\), \(2 \le 𝐾\) , \(𝑀 ≤ 1000\)
- Підзавдання 2 (10 балів) \(1 ≤ 𝑋 ≤ 10^{18} \)𝑋 < 𝐾\( \)𝑋 < 𝑀~ При вирішенні цієї підзадачі можна вважати, що лісоруби не відпочивають.
- Підзавдання 3 (10 балів) \(1 ≤ 𝑋 ≤ 10^{18}\) Додатково до наведених обмежень виконується умова \(𝐾 = 𝑀\) .
- Підзавдання 4 (48 балів) \(1 ≤ 𝑋 ≤ 10^{18}\), \(1 ≤ 𝐴 , 𝐵 ≤ 10^9\) , \(2 ≤ 𝐾\) , \(𝑀 ≤ 10^{18}\)
Приклад вхідних даних
2 4 3 3 25
Приклад вихідних даних
7
Коментарі