Сумма количества людей, продолжающих выполнять работу, когда человек заканчивает работу

Опубликовано: 21 Сентября, 2022

Даны два целых числа 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) = 5

Input: P = 9, K = 72, X = 8
Output: 36

Подход: Данная проблема может быть решена путем анализа проблемы с понятием математики. Выполните следующие шаги, чтобы решить проблему:

  • Найдите минимальное количество людей, исключая первого (поскольку P 1 всегда начинается с 0) и K/X , сохраните его в переменной, скажем, a .
  • Проверить, равно ли 0
    • если да, вернуть 0.
    • в противном случае рассчитайте общую сумму счета, составив математическую формулу.
  • Верните окончательную сумму count в качестве требуемого ответа.

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(1)
Вспомогательное пространство: O(1)