Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Слабые группы

(Время: 0,5 сек. Память: 32 Мб Сложность: 88%)

На хакатоне участвуют N человек. Организаторы хотят провести «стресс-тест» структуры знакомств и могут сами сконструировать сеть знакомств следующим образом.

Сначала выбирается число команд R так, что R делит N. Все участники делятся на R команд одинакового размера. Затем организаторы выбирают один из двух режимов знакомств:

  • Внутрикомандный режим: знакомы только участники внутри одной команды, между разными командами знакомств нет.
  • Межкомандный режим: знакомы только участники из разных команд, внутри команды знакомств нет.

После этого тестировщики выбирают K участников. Рассматриваются все пары внутри выбранной группы. Пара считается «знакомой», если между этими двумя участниками есть знакомство по выбранной структуре. Группа из K человек называется слабой для числа M, если среди пар внутри группы ровно M знакомых пар.

Вам дано Q запросов – значения M1, M2, …, MQ. Для каждого Mi найдите максимально возможное число слабых групп по модулю 109 + 7, если организаторы могут:

  • выбрать любое R такое, что N делится на R,
  • выбрать любой режим (внутрикомандный или межкомандный).

Входные данные

Входной файл INPUT.TXT содержит в первой строке три натуральных числа N, K, Q.

Во второй строке содержится Q целых чисел Mi через пробел. (1 ≤ Q, N ≤ 1000; 0 ≤ Mi ≤ 1000; 1 ≤ K ≤ 50).

Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на каждый запрос по модулю 109 + 7 через пробел.

Примеры

INPUT.TXTOUTPUT.TXT
16 3 2
1 3
18 20
28 4 4
1 2 3 10
48 36 32 0

Автор задачи

Владимир Игоревич Лукьянчиков

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Фёдор Меньшиков. Олимпиадные задачи по программированию, 2006
 Сборник задач В.И. Лукьянчикова
 Булева Алгебра
 Геометрия
 Динамическое программирование
 Комбинаторика
 Разбор строк
 Разное
 Разное 2
 Рекурсия, перебор
 Системы счисления
 Сортировка и последовательности
 Теория графов
 Формула
 Целочисленная арифметика
 Целочисленная арифметика 2
 Структуры данных
 Бинарный поиск
 Занимательная математика
 Занимательная математика 2
 Занимательная математика 3
 A. Бизнес-проект
 B. Простая пара
 C. Купол четырёх стихий
 D. Карьеры и караваны
 E. Агентурная сеть
 F. Бизнес-проект 2
 G. Слабые группы
 H. Bottle Sort
 I. Обучение сотрудников

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru



Домострой строительство