Сумма количества людей, продолжающих выполнять работу, когда человек заканчивает работу
Даны два целых числа P , обозначающих количество людей, и натуральное число K. Каждому человеку поручается одна и та же работа, на выполнение которой уходит ровно K часов. Задается условие, что все они могут начать выполнять свою работу ровно через X часов интервала. Подсчитайте количество людей, все еще выполняющих работу, когда предыдущий человек заканчивает свою работу. Задача состоит в том, чтобы найти сумму таких отсчетов.
Примеры:
Input: P = 4, K = 6, X = 3
Output: 5
Explanation: Let the four persons be P1, P2, P3, P4
- P1 starts at 0 and finishes at 6
- P2 starts at 3 and finishes at 9
- P3 starts at 6 and finishes at 12
- P4 starts at 9 and finishes at 15
So, when P1 finishes, P2 and P3 started performing their respective job, count for P1 = 2
when P2 finishes, P3 and P4 started performing their respective job, count for P2 = 2
when P3 finishes, only P4 started performing the job, count for P3 = 1
when P4 finishes, there is no person who starts at this point, so count for P4 = 0
Therefore, Total counts = (2 + 2 + 1 + 0) = 5Input: P = 9, K = 72, X = 8
Output: 36
Подход: Данная проблема может быть решена путем анализа проблемы с понятием математики. Выполните следующие шаги, чтобы решить проблему:
- Найдите минимальное количество людей, исключая первого (поскольку P 1 всегда начинается с 0) и K/X , сохраните его в переменной, скажем, a .
- Проверить, равно ли 0
- если да, вернуть 0.
- в противном случае рассчитайте общую сумму счета, составив математическую формулу.
- Верните окончательную сумму count в качестве требуемого ответа.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(1)
Вспомогательное пространство: O(1)