Предприниматель планирует количества работников на N недель. Известны
минимальные потребности работников на эти недели b1, b2, ... , bN.
Все работники выполняют одинаковую работу и имеют одинаковую недельную
зарплату K денежных единиц
(независимо от того, есть ли у них работа). Если на очередную неделю (в том
числе первую
неделю работы) надо нанять p работников дополнительно по сравнению с предыдущей
(p>0), затраты на найм составят L+pM единиц. Увольнение затрат не требует.
В начале работы работников нет.
Напишите программу, которая по этим даным определит количества
работников каждую неделю c1, c2, ... , cN, которые потребуют
наименьших возможных затрат S.
Файл Вашей программы должен иметь название EMPLOY.* где *
- PAS, C, CPP в звисимости от языка программирования. Числа K, L, M, N, b1, b2, ... , bN не
превышают 100.
Входной текстовый ASCII-файл EMPLOY.DAT в первой строке
содержит количество тестов, далее идут данные всех тестов, не разделенные пустыми
строками. Данные каждого теста - числа в отдельных строках файла в такой
последовательности: K, L, M, N, b1, b2, ... , bN.
Выходной текстовый ASCII-файл EMPLOY.SOL должен содержать
результаты для всех тестов. Для каждого теста в первой строке должна быть минимальная
общая сумма затрат S, в следующих N строках - оптимальные количества работников
c1, c2, ... , cN. Результаты для последовательных тестов отделяются пустой строкой.