Максимизация выигрыша
시간 제한1초메모리 제한1024 MB
각각 y의 비용이 드는 인접 교환으로 n자리 수의 숫자를 재배열해 값에서 총 벌점을 뺀 이익을 최대화하고, 그중 가장 큰 수를 구한다.
문제
Дано целое неотрицательное число , состоящее из десятичных цифр. В нём можно произвольное число раз поменять местами две соседние цифры. За каждый обмен начисляется штраф равный . После выполнения обменов начисляется бонус, равный получившемуся из числу . Таким образом, если в результате обменов получено число , выигрыш равен .
Будем называть число оптимальным, если его можно получить из в результате обменов, добившись при этом максимального возможного выигрыша.
По заданным и определите наибольшее среди оптимальных чисел.
입력
В первой строке дано одно целое число , состоящее из десятичных цифр (). Число может иметь ведущие нули.
Во второй строке дано одно целое число --- штраф за один обмен цифр ().
출력
Выведите единственное целое число --- наибольшее среди оптимальных чисел. Число должно иметь длину и может содержать ведущие нули.
힌트
В первом примере после обмена цифр и получается число , выигрыш равен .
Во втором примере менять цифры местами не выгодно, если оставить число как есть, выигрыш равен , а если поменять, то выигрыш будет равен .