Codeforces Round 339 (Div. 1) |
---|
Закончено |
Лёша играет в недавно вышедшую новую версию легендарной игры hacknet. В этой версии был добавлен механизм навыков. Теперь каждый игровой персонаж обладает ровно n навыками. Каждый навык представляется одним неотрицательным целым числом ai — текущим уровнем навыка. Все навыки имеют одинаковый максимальный уровень A.
Одновременно с навыками был введён всеобщий рейтинг всех игроков. Игроки ранжируются по так называемой Силе. Сила игрока считается как сумма следующих величин:
Сейчас у Лёши есть m хакнетианских денежных единиц, которые он готов потратить. Каждая денежная единица позволяет увеличить текущий уровень любого навыка на 1 (если его уровень еще не максимален). Помогите ему потратить деньги таким образом, чтобы достичь как можно большего уровня Силы.
В первой строке через пробел записаны пять целых чисел n, A, cf, cm и m (1 ≤ n ≤ 100 000, 1 ≤ A ≤ 109, 0 ≤ cf, cm ≤ 1000, 0 ≤ m ≤ 1015).
Во второй строке записано ровно n целых чисел ai (0 ≤ ai ≤ A), разделённых пробелами, — текущие уровни навыков.
Сначала выведите максимальное значение Cилы, которое может получить персонаж.
Затем выведите n целых чисел — a'i (ai ≤ a'i ≤ A), уровни навыков, до которых следует развиться, чтобы достичь указанного значения Силы, при этом используя не более m денежных единиц. Если правильных ответов несколько — выведите любой.
3 5 10 1 5
1 3 1
12
2 5 2
3 5 10 1 339
1 3 1
35
5 5 5
В первом тесте оптимальной стратегией является повышение второго навыка до его максимума, а остальных — на единицу.
Во втором тесте нужно увеличить уровни всех навыков до максимума.
Название |
---|