QQuotaMosaic
Сценарії

Сценарії роботи з кодом · Розподіл за найбільшими остачами

03
Продукт

Сценарії

Розподіліть до 10000 місць між не більш ніж 1000 невід’ємними цілими вагами за найбільшими остачами. Перевірте нульові ваги й рівні остачі з розв’язанням за порядком вводу, відхиляючи додатний розподіл при нульовій сумі ваг до ділення.

01

Завантажте застосунок

Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.

02

Відкрийте папку проєкту

Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.

03

Підключіть і перевірте модель

Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

04

Перегляньте зміни та запустіть тести

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

Розподіл за найбільшими остачами

Сценарії
def allocate(weights, seats):
    if type(weights) not in (list, tuple) or len(weights) > 1000:
        raise ValueError("weights.container")
    weights = tuple(weights)
    if type(seats) is not int or not 0 <= seats <= 10000:
        raise ValueError("seats.range")
    if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
        raise ValueError("weights.invalid")
    total = sum(weights)
    if total == 0:
        if seats:
            raise ValueError("weight.zero")
        return [0] * len(weights)
    result = [w * seats // total for w in weights]
    remaining = seats - sum(result)
    order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
    for i in order[:remaining]:
        result[i] += 1
    return result

Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

Робоче середовище з ШІ для коду

Тут починається ваша наступна ідея.

Завантажити для Windows ↗