#include using namespace std; string s, ans; int n, k; int mi = 0x3f3f3f3f; int main() { cin >> n >> k >> s; for (int i = 0; i < 10; i++) { int r = k, sum = 0; string sAfter = s; // 数字等于目标数字i for (int t = 0; t < n; t++) if (r && sAfter[t] - '0' == i) r--; // 从左到右,找到比i大的数字,改小,修改为i for (int j = 1; j < 10; j++) { for (int t = 0; t < n; t++) { if (r && sAfter[t] - '0' == i + j) { r--; // 次数-1 sum += j; // 代价 sAfter[t] = i + '0'; // 修改后 } } // 从右往左,找到比i小的数字,改大,修改为i for (int t = n - 1; t >= 0; t--) { if (r && sAfter[t] - '0' == i - j) { r--; sum += j; sAfter[t] = i + '0'; } } } if (sum < mi) { mi = sum; ans = sAfter; } else if (sum == mi) ans = min(ans, sAfter); } cout << mi << endl; cout << ans << endl; return 0; }