import random


def distribute(n_items: int = 1, n_receivers: int = 1):
    """Функция distribute распределяет количество ресурсов - n_items
    между количеством получателей - n_receivers.
    В результате возвращается список длиной n_receivers, заполненый значениями ресурсов,
    которое предназначено каждому из получателей"""

    # генерируем список получателей
    receivers = [0 for _ in range(0, n_receivers)]

    while n_items > 0:
        # Каждая итерация в этом цикле определяет шансы каждого получателя на получение ресурса

        if n_items >= len(receivers):
            # Если ресурсов больше, чем получателей, то шанс = 100
            chance = 100
        else:
            # Иначе рассчитываем шанс через соотношение количества получателей и ресурсов
            chance = int(
                round(n_items / float(len(receivers)), 2) * 100
            )

        receiver_idx = 0
        while True:
            if chance == 100 or random.randint(0, 100) <= chance:
                receivers[receiver_idx] += 1
                n_items -= 1

            # Останавливаем цикл, если ресурсы исчерпаны
            if n_items == 0:
                break

            if receiver_idx < (len(receivers) - 1):
                receiver_idx += 1
            else:
                break

    return receivers